我希望DTO使用验证器注释来验证字段输入,但前提是请求中的字段不是空字符串.
例如,我有一个UserDto,它接受一个长度必须在6到20之间的字符串用户名字段.但我也想让请求能够为该字段发送一个空字符串.
请求示例:
{
"username": "", // empty field won't be validated
"email": "email@email.com",
"password": "password123",
etc...
}
示例实体:
@Data
public class AdminUpdateUserDto {
@Nullable
@Length(min = 6, max = 20) // applies only if string isn't empty
private String username;
@Email
@Length(min = 5, max = 30)
private String email;
@Length(min = 6, max = 20)
private String password;
如果不在DTO类中创建自定义验证器,或者更好地说,这是可能的吗?