注解验证
@Namespace("/vald")
public class ValdFormAction extends ActionSupport{
private UserInfo user;
@Validations(
requiredStrings={
@RequiredStringValidator(fieldName="user.userName",message="声明式注解:用户名必填")
}
,
stringLengthFields={
@StringLengthFieldValidator(fieldName="user.userName",minLength="3",message="声明式注解:用户名长度大于1"),
@StringLengthFieldValidator(fieldName="user.password",minLength="6",maxLength="6",message="声明式注解:密码长度必须是6位")
},
regexFields={
@RegexFieldValidator(fieldName="user.age",regex="[0-9]+",message="声明式注解:年龄必须是数字")
}
)
@Action(value="/form",results={
@Result(name="success",type="dispatcher",location="/vald/form.jsp"),
@Result(name="input",type="dispatcher",location="/vald/form.jsp")
})
public String formSubmit(){
return "success";
}
public UserInfo getUser() {
return user;
}
public void setUser(UserInfo user) {
this.user = user;
}
}
xml 验证
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="user.userName">
<field-validator type="requiredstring">
<message>声明式xml方式2:用户名必填</message>
</field-validator>
</field>
<validator type="requiredstring">
<param name="fieldName">user.userName</param>
<message>声明式xml:用户名必填</message>
</validator>
<validator type="regex">
<param name="fieldName">user.age</param>
<param name="regex">[0-9]+</param>
<message>声明式xml:年龄必须是数字</message>
</validator>
<validator type="stringlength">
<param name="fieldName">user.password</param>
<param name="minLength">6</param>
<param name="maxLength">6</param>
<message>声明式xml:密码必须是6位</message>
</validator>
<validator type="expression">
<param name="expression"><![CDATA[user.password==user.repassword]]></param>
<message>声明式xml:两次输入密码不一致</message>
</validator>
</validators>