0

次のフィールドを含む 1 つのログイン ページを作成しました。認証のために送信する前に、これらのフィールドを検証するにはどうすればよいですか? 私を案内してください、私は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>  

次のフィールドを含む 1 つのログイン ページを作成しました。認証のために送信する前に、これらのフィールドを検証するにはどうすればよいですか? 私を案内してください、私は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 に答える