在Java中使用OVal验证框架
我在java项目中使用OVal框架来验证业务对象。 请参见验证类:在Java中使用OVal验证框架,java,validation,annotations,oval,Java,Validation,Annotations,Oval,我在java项目中使用OVal框架来验证业务对象。 请参见验证类: public class ObjectValidation implements ObjectValidatable { private IValidator validator; private Map<String, String> errorMessages; public ObjectValidation() { validator = new Valida
public class ObjectValidation implements ObjectValidatable {
private IValidator validator;
private Map<String, String> errorMessages;
public ObjectValidation() {
validator = new Validator();
}
public boolean isValid() {
if (validate().size() > 0)
return false;
return true;
}
public List<ConstraintViolation> validate() {
return validator.validate(this);
}
public Map<String, String> getErrorMessages()
{
if(this.isValid()) return null;
errorMessages = new HashMap<String, String>();
for(ConstraintViolation cv : this.validate())
errorMessages.put(cv.???, cv.getMessage());
return errorMessages;
}
}
我有返回地图的getErrorMessages
我希望它像这样返回用户名不能为null
第二部分“必须不为null”可以通过cv.getMessage()获取
但有验证注释的第一部分是我的问题
如何获取用户名或其他具有验证注释的字段 看看ConstraintViolation.getCauses()和ConstraintViolation.getContext()方法。他们应该提供你所需要的
public class Account extends DomainObject {
@NotNull
@NotEmpty
@NotBlank
@Length(max = 5)
private String userName; // How Get This ???
private String password;
private int securityId;
private String securityAnswer;
...
}