Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
validation
スポンサード リンク

validation-rules.xml 定義
入力チェックのチェックルールを定義する。

Strutsに標準で定義されている下記2つの入力チェックを使用。

<form-validation>
 <global>

   <!-- 必須入力チェック定義 -->
   <validator name="required"
         classname="org.apache.struts.validator.FieldChecks"
         method="validateRequired"
         methodParams="java.lang.Object,
                  org.apache.commons.validator.ValidatorAction,
                  org.apache.commons.validator.Field,
                  org.apache.struts.action.ActionMessages,
                  org.apache.commons.validator.Validator,
                  javax.servlet.http.HttpServletRequest"
         msg="errors.required"/>

ーーーーーーーー途中省略ーーーーーーーーーーーーーーーー

   <!-- 日付型チェック定義 -->
   <validator name="date"
         classname="org.apache.struts.validator.FieldChecks"
         method="validateDate"
         methodParams="java.lang.Object,
                   org.apache.commons.validator.ValidatorAction,
                   org.apache.commons.validator.Field,
                   org.apache.struts.action.ActionMessages,
                   org.apache.commons.validator.Validator,
                   javax.servlet.http.HttpServletRequest"
         depends=""
         msg="errors.date"
         jsFunctionName="DateValidations"/>

ーーーーーーーー途中省略ーーーーーーーーーーーーーーーー

 </global>
</form-validation>

 





スポンサード リンク


validation.xml 定義
入力画面で実行する入力チェックを定義する。
validation-rules.xmlに定義してある入力チェックを、各入力項目ごとに指定する。

<form-validation>
  <formset>

    <!-- 入力画面の入力チェック定義 -->
    <form name="/sample_check">
       <!-- 項目名称:ユーザーID -->
       <field property="userId" depends="required">
         <arg0 key="item.id" resource="true" />
       </field>

       <!-- 項目名称:氏名 -->
       <field property="userName" depends="required">
          <arg0 key="item.name" resource="true" />
       </field>

       <!-- 生年月日(西暦) -->
       <field property="birth" depends="required,date">
          <arg0 key="item.birth" resource="true" />
          <var>
             <var-name>datePattern</var-name>
             <var-value>yyyy/mm/dd</var-value>
          </var>
      </field>
   </form>

  </formset>
</form-validation>


URL「http://127.0.0.1:8080/Struts1.2/do/sample_input」の場合の入力チェック定義
項目「ユーザーID」「氏名」はdepends属性で指定の必須入力チェック「required」を実行する
項目「生年月日」はdepends属性で指定の必須入力チェック、日付型チェック「required,date」を実行する
日付型で許可されるフォーマットは<var>タグで指定されている「yyyy/mm/dd」の形式となる。



●入力チェックエラーのエラーメッセージ
入力チェックエラーのエラーメッセージは、struts-config.xmlに定義したメッセージリソース「application.properties」に登録されているメッセージが出力される。

application.properties定義

#####入力項目名#####
item.id = ユーザーID
item.name = 氏名
item.birth = 生年月日

ーーー途中省略ーーーーーーーーー

#####入力チェックエラーメッセージ#####
errors.required = {0}は必須入力です。
errors.minlength = {0}は{1}文字以上です。
errors.maxlength = {0}は{1}文字以内です。
errors.date = {0}は日付のみ有効です。
ーーー途中省略ーーーーーーーーー

#####入力チェックエラーメッセージ共通#####
errors.header = <B>***入力エラーメッセージ***</B><br>
errors.suffix = <br>


ユーザーIDの必須チェックエラーの場合のエラーメッセージ出力例
  validation.xmlの必須チェックの<validator>タグのmsg属性に定義されているメッセージキー"errors.required"と、 validation-rules.xmlのユーザーIDの<field >タグ内の <arg0>タグの key属性に定義されているメッセージキー"item.idの両方のメッセージを使って生成される。

よって、エラーメッセージは 「ユーザーIDは必須入力です。」となる。errors.required のメッセージ「{0}は必須入力です。」の{0}は「ユーザーID」に置き換えられる。

エラーメッセージ表示画面



スポンサード リンク

WEBサンプルアプリケーションの概要
WEBアプリケーション定義
プラグイン、メッセージリソース定義
アクションフォーム&アクション定義
アクションクラス
validation
JSP(tiles)

Struts概要へ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ