简介
为表单添加验证
添加校验的方法:
1. first name 不能为null
2. Email address 不能为null
3. age 必须大于18岁
为了在用户提交的时候,能够校验这个表单,我们必须在Action register 中定义一个方法:
validate method
@Override public void validate() { if (personBean.getFirstName() == null || personBean.getFirstName().length() == 0) { addFieldError("personBean.firstName", "First name is required."); } if (personBean.getEmail() == null || personBean.getEmail().length() == 0) { addFieldError("personBean.email", "Email is required."); } if (personBean.getEmail() != null && !personBean.getEmail().matches( "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")) { addFieldError("personBean.email", "Email format must be right."); } if (personBean.getAge() < 18) { addFieldError("personBean.age", "Age is required and must be 18 or older"); } }
添加这个方法,准确的说是重载了这个方法以后中,我们的返回逻辑还需要修改,因为如果校验失败,Action 返回的是input,所以我们需要在structs.xml增加校验失败的配置信息。
<
result
name="input">/register.jsp</
result
>
测试:
更多的校验见: Validation.