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

Strutsリファレンス
 
Web struts.wasureppoi.com
validatorのエラーメッセージに<var>タグ指定の文字列を埋め込む
スポンサード リンク

例1 <argn>タグのkey属性にメッセージkeyを指定している場合のエラーメッセージ

validation.xmlの定義

<form-validation>
  <formset>

     <!-- Maxlengthチェック -->
     <form name="MaxlengthForm">
       <field property="stringData" depends="maxlength">
         <arg0 key="item.id" />
         <arg1 key="${var:maxlength}" resource="false" />
         <var>
            <var-name>maxlength</var-name>
            <var-value>3</var-value>
         </var>
      </field>
     </form>

  </formset>
</form-validation>


<var>タグに指定してある変数の値をエラーメッセージに埋め込むには、上記例のように${var:変数名}を指定します。
この場合は、resource="false"を指定して、メッセージリソースを検索しないように指定します。
  
validator-rules.xml

<form-validation>
  <global>

     <validator name="maxlength"
           classname="org.apache.struts.validator.FieldChecks"
           method="validateMaxLength"
           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.maxlength"
           jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>

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

</global>
</form-validation>


msg属性にメッセージkeyが指定されています。
  
メッセージリソース(application.properties)を抜粋

#####入力項目名#####
item.id = ユーザーID

#####入力チェックエラーメッセージ#####
errors.maxlength = {0}は{1}文字以内です。



上記の例1の、validation.xmlの入力チェックエラーメッセージは「ユーザーIDは3文字以内です。」となります。
この例では、メッセージ中の文字列の”{1}”は<var>タグに登録されている変数値の”3”に置き換えられています。

スポンサード リンク

validatorの定義(validate.xml)
validatorを使用するフォーム定義とアクション定義
validatorエラーメッセージの画面表示
validatorのエラーメッセージに<argn>タグで可変長文字列を埋め込む
validatorのエラーメッセージに<var>タグ指定の文字列を埋め込む
validatorのエラーメッセージを別のメッセージに変更する

アクションフォームへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ