问题描述:做了一个javabean,用于验证表单提交的数据是否符合正则(名字长度6-15,年龄为数字,email格式),由Register类的isValidate()方法返回判断结果boolean值,表单页(register.jsp)将表单提交到check.jsp页,check.jsp页使用javabean实例化出了reg对象。
分别提交错误的表单和正确的表单,输出如下两幅图,reg.isValidate()返回的结果是正确的,但无论bool是true还是false,只会执行下面的,但是把上面的bool改成true,就可以了,不知道错误原因是什么
上图:
验证方法源码:
public boolean isValidate(){
boolean pass=true;
if(!this.name.matches("\w{6,15}")){
pass=false;
errors.put("nameE", "名字长度为6-15");
}
if(!this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*")){
pass=false;
errors.put("emailE","email地址不正确");
}
if(!this.age.matches("\\d+")){
pass=false;
errors.put("ageE","年龄必须是数字");
}
return pass;
}