假设我有一个允许说10个属性的bean。 另外我有一个错误,它有三个属性,即, errorFlag,errCd和errMsg 我想验证bean属性是否有序,并且我想打破错误的第一次出现并填充错误对象。我如何做到这一点,我想拥有最低限度的If。否则如果语句。验证bean的最佳方法
ErrorObj豆
public class ErrObj{
private String errorMessage;
private String errorCode;
private boolean errorFlag;
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public boolean isErrorFlag() {
return errorFlag;
}
public void setErrorFlag(boolean errorFlag) {
this.errorFlag = errorFlag;
}
}
下面是一个使用自定义的Util类的一些静态方法,返回根据字段是否有效或无效的布尔我在哪里验证豆 假设类,即时通讯。
public class ValidateMyBean{
ErrObj errObj = new ErrObj();
if(!CustomUtils.isValid(myBean.getProp1))
{
// set some error conditions
errObj.errorCode("123");
errobj.setErrorMessage("validation 1 Failed");
}
else if(!CustomUtils.isValid(myBean.getProp2))
{
}
..........so on
}
所以,如果我的bean拥有10个物业,我必须确认每个属性对可以说3验证方法,我不想写多个“如果 - elseif的”陈述或复式写“如果“语句在每个if语句结尾处有return语句,以防出现任何错误。 有任何清洁方式或有一些框架可以帮助我达到预期的效果吗? PS:这个Java应用程序使用Spring Core框架,是一个web服务应用程序,而不是一个MVC应用程序。
这不是一个MVC应用程序。第一个链接是否适用? –
JSR是一个验证标准。 MVC与否,jsr-303的实现是进行验证的标准方法。例如,hibernate在另一个边界使用符合jsr-303(或如此)的验证:http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html/validator-specifics.html#validator- customoptions-methodvalidation。所以是的,第一个链接适用。它只是一个在预定边界上的通用bean验证机制,在示例情况下,它在控制器绑定中,但它可以是任意的。如果你愿意的话,你也可以随时用自定义代码编写类似的东西 –
我确实推荐了bean验证规范,但是想要补充说明它们已经达到了1.1版本:http://beanvalidation.org/1.1/ – nablex