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

Strutsリファレンス
 
Web struts.wasureppoi.com
指定条件チェック(validwhen)
スポンサード リンク

validwhenは、指定した条件に一致するか、しないかをチェックし、一致しない場合はエラーとなります。

validator-rules.xmlのvalidwhen定義

<validator name="validwhen"
       msg="errors.required"
       classname="org.apache.struts.validator.validwhen.ValidWhen"
       method="validateValidWhen"
       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"/>


validwhenを使ったvalidation.xml定義

<form name="ValidwhenForm">
   <field property="stringData" depends="validwhen">
     <arg0 key="item.id" resource="true" />
     <var>
       <var-name>test</var-name>
       <var-value>(((chk == 'on') and (*this* != null)) or (chk == 'off'))</var-value>
     </var>
   </field>
</form>

<test>タグに条件を指定します。複数ある場合は'or'や'and'を使用します。
「*this*」はチェック対象のプロパティを指します。(上記例では「stringData」)
上記例のチェック内容
   プロパティ「chk」が'on'、かつ、プロパティ「stringData」がnull以外、または、プロパティ「chk」が'off' 以外はエラー

メッセージリソース

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

#####入力チェックエラーメッセージ#####
errors.required = {0}は必須入力です。


出力エラーメッセージ : ユーザーIDは必須入力です。

スポンサード リンク

標準のvaridatorルール一覧
必須入力チェック(required)
指定条件のチェック(validwhen)
最小桁数チェック(minlength)
最大桁数チェック(maxlength)
正規表現チェック(mask)
byte型チェック(byte)
short型チェック(short)
integer型チェック(integer)
long型チェック(long)
float型チェック(float)
double型チェック(double)
Date型フォーマットチェック(date)
integer型の指定範囲内チェック(intRange)
double型の指定範囲内チェック(doubleRange)
float型の指定範囲内チェック(floatRange)
emailアドレスフォーマットチェック(email)

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