Strutsバリデーターフレームワークは、バリデーション作業をより簡単にし、メンテナンス性を向上させるための、多くの一般的なバリデーションメソッドを提供します。 Strutsバリデータでは、ActionForm validate()メソッドの代わりにxmlファイルにバリデーション関数を宣言する必要があります。Strutsのバリデーションをより標準化し、再利用可能で、コードの重複を少なくすることができます。

この例をダウンロードする –

Struts-Validator-Example.zip

Struts Validatorフレームワークの使用

ここでは、Struts Validatorフレームワークを使用するためのクイックガイドを提供します。

1. Validatorプラグイン

Strutsバリデータプラグインを使用するには、 ”

ValidatorPlugIn

“クラスをstruts-config.xmlファイルに含める必要があります。

...

<plug-in className = "org.apache.struts.validator.ValidatorPlugIn">
    <set-property property = "パス名"
    value = "/WEB-INF/validator-rules.xml、/WEB-INF/validator-user.xml"/>
        
</plug-in>
...



validator-rules.xml

“ファイルにはすべての汎用バリデーター名が含まれています。このファイルはStrutsディストリビューションライブラリで入手できます(このファイルを自分で作成しないでください)。また、 “validator-user.xml”にはすべてのフォームフィールドの検証が含まれています。

2.バリデータフォーム

フォームBeanがバリデーターフレームワークを使用する必要がある場合、

ActionForm

ではなく

ValidatorForm

を拡張する必要があります。

import org.apache.struts.validator.ValidatorForm;

public class UserForm extends ValidatorForm{
..

3. validator-user.xml

An userForm bean, email property, and attach the “required” and “email”
validator to the email property. The “required” validator will make sure
the filed is not blank, and “email” validator is used to check the
correct email format. Both “required” and “email” validators are
declared in “validator-rules.xml” file.

<form-validation> <formset> <form name = "userForm"> <field property = "email" depends = "必須、電子メール"> <msg name = "必須" key = "err.user.email.required"/> <msg name = "email" key = "err.user.email.invalid"/>

</field>

</form>
  </formset>
</form-validation>

Strutsバリデータフレームワークの例

Strutsバリデーターフレームワークを理解する最善の方法は、
シンプルなアプリケーションを作成し、検証作業を進めてください。
Strutsバリデーターを使用する簡単なユーザー登録フォーム
フレームワークは、ユーザー名、パスワード、電子メールをチェックします。

1.アクション

アクションクラスです。成功リクエストを転送します。

パッケージcom.mkyong.user.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping;

public class UserAction extends Action {
  
    public ActionForward execute(ActionMappingマッピング、ActionFormフォーム、
        HttpServletRequestリクエスト、HttpServletResponseレスポンス)
    例外をスローする{
        
        return mapping.findForward( "success");
    }
}

2.ユーザーフォーム

UserFormは、ValidatorFormクラスを拡張します。

  • UserForm.java **

パッケージcom.mkyong.user.form;

インポートorg.apache.struts.validator.ValidatorForm;
 
パブリッククラスUserFormは、ValidatorForm {
    
    文字列のユーザー名。
    文字列pwd;
    文字列pwd2;
    文字列の電子メール;
    
   //getterメソッドとsetterメソッド
    
}

3.プロパティファイル

プロパティファイルには、すべてのラベルとエラーメッセージが含まれています。

  • user.properties **

#user module label message label.user.name =名前label.user.username =ユーザ名label.user.pwd =パスワードlabel.user.pwd2 =パスワードの確認label.user.email =メール

label.user.button.submit =送信

#エラーメッセージerr.user.username.required =ユーザー名が必要です。<br/> err.user.username.length =ユーザー名の長さは、{0}から{1}の間でなければなりません。無効=ユーザー名が無効です.ZZ、AZ、0-9、ダッシュ " - "またはアンダースコア "__"です。<br/>

err.user.pwd.required =パスワードが必要です。<br/> err.user.pwd.length =パスワードの長さは{0}から{1}の間である必要があります。<br/> err.user.pwd.invalid =パスワード無効です。az、AZ、0-9です。<br/>

err.user.pwd2.notmatch =パスワードが一致していないか確認してください。<br/>

err.user.email.required =メールが必要です。<br/>
err.user.email.invalid =メールアドレスが無効です。<br/>

4.ページを見る

すべてを作成するための単純なjspページでは、テキストフィールドと単純な
ありがとうございましたページ

  • RegisterUser.jsp **

Struts  - バリデータの例

RegisterUser.jspユーザー登録フォーム

:

:

:

:

  • ThanksYou.jsp**

Struts  - バリデータの例

登録していただきありがとうございます

5. Struts configuration

Configure action , form mappings and register the “ValidatorPlugIn” plug
in.

  • struts-connfig.xml**

<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE struts-config PUBLIC " - //Apache Software Foundation//DTD Struts設定1.3//EN" "http://jakarta.apache。 <struts-config> <form-b​​eans> <form-b​​ean name = "userForm" type = "com.mkyong.user.form.UserForm"/> </form> <struts-config__1__3.dtd> -beans> <アクションマッピング>

<forwardname = "success" path = "/pages/registerUser.jsp" input = "/pages/RegisterUser.jsp" ThanksYou.jsp "/> </action>

<action path = "/RegisterUserPage" type = "org.apache.struts.actions.ForwardAction" parameter = "/pages/RegisterUser.jsp"/> </action-mappings> <メッセージリソースパラメータ= "com.mkyong。 </WEB-INF/validator-rules.xml、/user.properties.user "/> <plug-in className =" org.apache.struts.validator.ValidatorPlugIn " WEB-INF/validator-user.xml "/> </plug-in>

</struts-config>

6. validator-user.xml

ユーザーフォームのユーザー名、パスワード、電子メールのバリデータを定義する
プロパティ。

  • validator-user.xml **

<!DOCTYPE form-validation PUBLIC " - //Apache Software Foundation//DTD Commonsバリデータのルール設定1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator__1__3__0.dtd">

<form-validation> <formset> <form name = "userForm"> <field property = "username" depends = "必須、最大長、最小長、マスク"> <msg name = "必須" key = "err.user.username <msg name = "minlength" key = "err.user.username.length"/> <msg name = ""マスク "key =" err.user.username.invalid "/>

<arg name = "maxlength" key = "$ {var:maxlength}" position = "0" resource = "false"/> "resource =" false "/>

<arg name = "minlength" key = "$ {var:minlength}" position = "0" resource = "false"/> "<var-name> </var-name> </var-value> </var-value> </var> var-name> </var-value> ^[a-zA-Z0-9-var-name]</var-name> <msgid = "required" key = "err.user"> </var-value> </var> msgstr "" msgstr "キー名="最大長 "キー=" err.user.pwd.length "/> <msg name =" minlength "key =" err.user.pwd.length "/> <msg name = "マスク"キー= "err.user.pwd.invalid"/>

<arg name = "maxlength" key = "$ {var:maxlength}" position = "0" resource = "false"/> "resource =" false "/>

<arg name = "minlength" key = "$ {var:minlength}" position = "0" resource = "false"/> "<var-name> </var-name> </var-value> </var-value> <var-name> ^[a-zA-Z0-9]</var-name> </var-name> ** > </var-value> </var> </var> </var/value> </var-value>(pwd == **  this ** )</var-value> </var>

<field property = "email" depends = "required、email">
        <msg name = "必須" key = "err.user.email.required"/>
        <msg name = "email" key = "err.user.email.invalid"/>
     </field>
         
     </form>
  </formset>
</form-validation>

7.デモ


Struts-Validator-Example-2、title = "Struts-Validator-Example-2"

検証コードは、それがどのように動作するかを知るために十分説明的です。
詳細を知りたい、また利用可能な他のバリデーターをチェックしてください
下記の参考ウェブサイト

===リファレンス

Strutsバリデータのドキュメント –

http://struts.apache.org/1.2.4/userGuide/dev__validator.html