在Hibernate Validator 4.x中是否有(或第三方实现)交叉字段验证的实现?如果不是,那么实现交叉字段验证器的最简洁方法是什么?
例如,如何使用API来验证两个bean属性是否相等(例如验证密码字段是否与密码验证字段匹配).
在注释中,我希望有类似的东西:
public class MyBean {
@Size(min=6, max=50)
private String pass;
@Equals(property="pass")
private String passVerify;
}
Run Code Online (Sandbox Code Playgroud) 我有与spring集成的REST服务项目.我正在尝试集成bean验证.我做了一个自定义注释:
/**
* Denotes a field as being no empty.
*
* @author pguzun
*/
@Target({METHOD, FIELD, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = {INotEmptyValidator.class})
public @interface NotEmpty {
Error error() default Error.ServerError;
String message() default "{error.notEmpty}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
Run Code Online (Sandbox Code Playgroud)
使用
@Constraint(validatedBy = {INotEmptyValidator.class}),我指定了验证器接口.
这是验证器实现.
/**
* Checks that a String is not empty.
*
* @see StringUtils#isEmpty(java.lang.CharSequence)
* @author pguzun
*/
@Component
public class NotEmptyValidatorImpl implements INotEmptyValidator {
@Override
public void initialize(NotEmpty notEmpty) { …Run Code Online (Sandbox Code Playgroud)