简介
为表单添加验证
添加校验的方法:
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.