#topicpath
----

//ここにコンテンツを記述します。
書き途中。
***プラグインの記述
struts-config.xmlに以下を記述します。
 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
   <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
 </plug-in>

***Formのクラスを変更
   <form-bean name="passwordForm" type="org.apache.struts.action.DynaActionForm">
 -><form-bean name="passwordForm" type="org.apache.struts.validator.DynaValidatorForm">
   <form-bean name="searchForm" type="org.apache.struts.action.DynaActionForm">
 -><form-bean name="searchForm" type="org.apache.struts.validator.DynaValidatorForm">

***validation.xmlにルールを記述
今回はpasswordFormのuseridプロパティはnullがNGというのを記述します。
 <formset>
   <form name="passwordForm">
     <field property="userid" depends="required">
       <msg name="required" key="errors.userid.null" />
     </field>
   </form>
 </formset>
今回はsearchFormのinputプロパティはnullがNGというのを記述します。
 <form-validation>
   <formset>
     <form name="searchForm">
       <field property="input" depends="required" />
     </form>
   </formset>
 </form-validation>
こんな感じです。


***アクションマッピングの属性追加
valideteする旨の
Actionタグに、valideteする旨の
 validate="true" 
エラー時の遷移先
 input="kino.tiles.rightsquaresearch" <-tilesの値も書ける
 input="kino.tiles.javaDocumentSearch" <-tilesの値も書ける
を追加します。

基本的にはこれでValidatorが有効になります。あとはエラー表示の記述などです。~
ここまでで、useridプロパティがnullの時に、別のtileに遷移することが確認できました。
便利ですねぇ。ソースコード全くいじってないですからね。


***JavaScriptで検証する
Validatorの目玉としてJavaScript検証があります。
 <html:javascript formName="passwordForm"/>
 <html:javascript formName="searchForm"/>
をどこかに記述してFormを
    <html:form action="/passwordSearch" focus="userid" >
 -> <html:form action="/passwordSearch" focus="userid" onsubmit="return validatePasswordForm(this);"> 
    <html:form action="/searchSearch" focus="input" >
 -> <html:form action="/searchSearch" focus="input" onsubmit="return validateSearchForm(this);"> 
とすると完成です。空文字でリクエストすると、アラートが表示されました。


***関連リンク
このサイトを参考に書いています。
-[[実用サンプルコードで理解する「Struts」の基礎:http://www.itmedia.co.jp/enterprise/0311/28/epn02_13.html]]
http://www.atmarkit.co.jp/fjava/rensai2/jakarta12/jakarta12_02.html
----
この記事は
#vote(おもしろかった,そうでもない)

#comment
#navi(Java/Struts)

SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS