在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) 我已经知道如何在实体类中的特定属性上添加基于注释的验证,例如:-
public class Person {
@NotNull
private String firstName;
private String lastName;
//...
}
Run Code Online (Sandbox Code Playgroud)
但是是否可以在类 Person 上添加注释,以便通过创建自定义验证类并在某处处理验证来验证该类中的所有属性,例如:-
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
public @interface PersonneName {
public String firstName();
}
Run Code Online (Sandbox Code Playgroud)
我正在开发一个项目,从数据库获取约束并创建自定义验证类,并根据从数据库获取的约束应用于实体类属性。请建议。
我们正在使用spring-boot. 我想在 java 类中添加基于条件的约束。例如
@Entity
public class User {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "user_id")
private Integer userId;
@Column(name = "firstName")
private String firstName;
@Column(name = "lastName")
private String lastName;
}
Run Code Online (Sandbox Code Playgroud)
现在在上面的代码中@NotNull,lastName当且仅当firstName属性不为空时,我想对属性施加约束。