0

我已经创建了一个包含以下字段的登录页面,现在如何在提交验证之前验证这些字段?请指导我,我是struts2的新手。struts2 是否提供任何其他验证表单字段的方式?

哪一个是最好的方法?我可以使用 javascript 来验证 struts2 表单字段吗?

请指导我。在此先感谢

我的动作类名称是 LoginAction.java

我的 login.jsp 是

<s:form action="">
            <s:textfield label="Username" key="username"></s:textfield><br/>
            <s:password label="Password" key="password"></s:password><br/>
            <s:textarea label="Address" key="address"></s:textarea>
            <s:radio list="{'Male','Female'}" label="Gender" key="gender"></s:radio>
            <s:file key="file"></s:file>
            <s:select list="{'Select a value','India','Australia','England','Srilanka','Japan','Other'}" label="Country"    key="country"></s:select>    
            <s:submit label="Add Information"></s:submit>
            </s:form>  

我已经创建了一个包含以下字段的登录页面,现在如何在提交验证之前验证这些字段?请指导我,我是struts2的新手。struts2 是否提供任何其他验证表单字段的方式?

哪一个是最好的方法?我可以使用 javascript 来验证 struts2 表单字段吗?

请指导我。在此先感谢

My action class name is LoginAction.java     
4

1 回答 1

1

您可以使用 ActionSupport 类的 validate 方法,在这种情况下,您的 Action 类应该扩展 ActionSupport 类,另一种方法是在 XML 文件中验证,在 Action 类中添加以下方法

    public void validate()
        {
            if(StringUtils.isEmpty(getUsername()))
            {
                addFieldError("username", "UserId can't be blank");
            }
            if(StringUtils.isEmpty(getPassword()))
            {
                addFieldError("password","password can't be blank");
            }       
        }

或使用 XML 作为

    <validators>  
          <field name="username">  
               <field-validator type="requiredstring">  
                    <message>userID is Required.</message>  
               </field-validator>  
               <field-validator type="regex">  
           <param name="expression">[a-zA-Z]{2,20}</param>  
           <message>Please enter valid userID.</message>  
         </field-validator>  
          </field>  
           <field name="password">  
               <field-validator type="requiredstring">  
                    <message>Password is Required.</message>  
               </field-validator>  
          </field> 
          <field name="address">  
               <field-validator type="requiredstring">  
                    <message>address is Required.</message>  
               </field-validator>  
          </field>  
          <field name="gender">  
               <field-validator type="requiredstring">  
                    <message>Gender is Required.</message>  
               </field-validator>  
          </field> 
          <field name="country">  
               <field-validator type="regex">  
           <param name="expression">India|Australia|England|Srilanka|Japan|Other</param>  
           <message>Course is required.</message>  
         </field-validator>  
          </field>  
     </validators>  

XML 文件的名称应采用 -validation.xml 格式并在同一包中

最后添加

    <result name="input">/login.jsp</result> in struts.xml file inside <action></action>
于 2013-10-21T06:24:39.040 回答