如何验证支柱 2 中的所有表单字段

How to validate all the form fields in Struts 2

本文关键字:字段 表单 何验证 验证      更新时间:2023-09-26

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

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

请指导我。提前致谢

我的操作类名称是登录操作.java

而我的登录.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>  

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

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

请指导我。提前致谢

My action class name is LoginAction.java     
您可以使用

ActionSupport类的验证方法,在这种情况下,您的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>