Struts2 (四) 声明式验证(注解/xml)

注解验证

@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 验证



<validators>
    
   <field name="user.userName">
       
       <field-validator type="requiredstring">
           
           <message>声明式xml方式2:用户名必填message>
       field-validator>
   field>
   
   <validator type="requiredstring">
       <param name="fieldName">user.userNameparam>
       <message>声明式xml:用户名必填message>
   validator>
   
   <validator type="regex">
       <param name="fieldName">user.ageparam>
       <param name="regex">[0-9]+param>
       <message>声明式xml:年龄必须是数字message>
   validator>
   <validator type="stringlength">
       <param name="fieldName">user.passwordparam>
       <param name="minLength">6param>
       <param name="maxLength">6param>
       <message>声明式xml:密码必须是6位message>
   validator>
   <validator type="expression">
       <param name="expression">param>
       <message>声明式xml:两次输入密码不一致message>
   validator>
validators>

你可能感兴趣的:(struts2)