SuperAPI AI 工具集

ddd4j-validation

编程与开发

查看项目

更新于 10-16 05:47

技能介绍

用途:为 DDD4J 项目提供四个自定义 Bean Validation 约束的编码规则,避免 LLM 因不了解这些约束而自行编写校验逻辑。

主要能力:@AllowedValues 做字符串数组白名单校验,支持 nullable 控制空值行为;@PhoneNumber 基于 Google libphonenumber 做手机号校验,支持国际化(如 lang="CN"、"US");@NumberValue 按正则校验数字格式,默认正则 ^[0-9-]+$;@StringDateValue 校验日期字符串格式,空字符串静默通过,使用 SimpleDateFormat.setLenient(false) 严格模式。

使用方式:校验注解直接放在 Param/DTO 字段上,不要创建独立 Validator 类。所有自定义约束必须显式写 message,因为校验器禁用了默认消息插值。@PhoneNumber 需引入 com.googlecode.libphonenumber 依赖。

常见错误:用 @Pattern 校验手机号而非 @PhoneNumber;用 @DateTimeFormat 而非 @StringDateValue;给 @StringDateValue 字段传空字符串(会静默通过,需配合 @NotEmpty);用 @NotEmpty 代替 @AllowedValues.nullable=false。

限制:实体定义与返回值约定属于 ddd4j-core,Jackson 序列化校验属于 ddd4j-jackson,均不在本技能范围内。本技能不收集、存储或传输任何用户数据。