首页 > 代码库 > struct2(六) 为表单添加验证

struct2(六) 为表单添加验证

简介

为表单添加验证

添加校验的方法:

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>

测试:

image

更多的校验见: Validation.

struct2(六) 为表单添加验证