Java プロジェクトでビジネス オブジェクトを検証するために OVal フレームワークを使用しています。検証クラスを参照してください:
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;
}
}
と
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;
...
}
Map を返す getErrorMessages があります。このように返したいuserName-must not null
2 番目のセクション「null ではない」は cv.getMessage() で取得できます
しかし、検証アノテーションを持つ最初のセクションは私の質問です
検証アノテーションを持つuserName または別のフィールドを取得する方法???