ホーム » ブログ » Terasolunaでバリデーションチェックサンプル_必須チェック
このエントリーをはてなブックマークに追加
@2015/03/31

スポンサーリンク
本日のテーマは、Terasolunaのバリデーションチェックのサンプルを挙げて解説します。
とはいえ、Terasolunaでのバリデーションチェックは、StrutsのチェックルールとTerasoluna独自のチェックルールを含めています。
本章はそれを区別なく、すべてTerasolunaのバリデーションチェックとする。

なお、「バリデーションチェックは何だ?」と疑問をする方々は、strutsのバリデーションチェックの仕組みに関する知識を先に習得してから、また本記事を読んだほうがいいと思う。
もちろん、validation検証するための最低限のTerasolunaプロジェクトを新規しなければいけない。僕の場合、Terasolunaのblank版のプロジェクトを利用しています。
次は、必要な設定を行う。①web.xmlでstruts-validation-config.xmlを宣言。(struts-config.xmlはそのまま利用できますが、ここでバリデーション検証専用のstruts設定ファイルを新規)
<!-- ======================================== サーブレット定義(抜粋) -->
  <servlet>
        <init-param>
       <param-name>config/validation</param-name>
       <param-value>/WEB-INF/validation/struts-validation-config.xml</param-value>
    </init-param>   
  </servlet>
上記で、プロジェクトはstruts-validation-config.xmlを利用できるように設定しました。
②web.xml宣言したstruts-validation-config.xmlファイルに、validationContext.xmlとvalidation.xmlの利用宣言を追加。

<!-- ======================================== プラグイン定義 -->
 <plug-in className=""org.springframework.web.struts.ContextLoaderPlugIn"">
     <set-property property=""contextConfigLocation""
                   value=""/WEB-INF/validation/validationContext.xml""/>
 </plug-in>
  
     <plug-in className=""org.apache.struts.validator.ValidatorPlugIn"">
    <set-property property=""pathnames""
                  value=""/WEB-INF/validator-rules.xml,/WEB-INF/validator-rules-ex.xml,/WEB-INF/validation.xml,/WEB-INF/validation/validation.xml""/>
    <set-property property=""stopOnFirstError""
                  value=""false""/>
  </plug-in> 
③struts-validtion-config.xmlに動的なFormを宣言(validation検証用FormBean)。

<!-- ======================================== フォームビーン定義 -->              
  <form-beans>
      <form-bean name=""_commonForm""
                 type=""jp.terasoluna.fw.web.struts.form.DynaValidatorActionFormEx"" >
        <form-property name=""t1"" type=""java.lang.String""/>
        <form-property name=""t1_textarea"" type=""java.lang.String""/>
以上の設定で、バリデーション検証できる環境を揃いました。

それでは、開発現場でよく使われている20何種類のバリデーションチェックサンプルを順次に解説します。

1、必須チェック(required)
 <1> v1.jspサンプルコード

<!-- エラーメッセージ表示エリア -->
<ts:ifErrors>
 <div class=""com-info-panel"">
  <div class=""com-error-message-panel"" id=""customer-error-message-panel"" align=""center"">
   <span id=""errorMessage""><ts:errors /></span>
  </div>
 </div>
</ts:ifErrors>
<!-- バリデーション検証Formエリア -->
<ts:form action=""/v1CheckAction.do"" method=""POST"">
  <div align=""center"">
    <br>
    <table border=""0"" cellspacing=""0"" cellpadding=""2"">
      <tr>
        <td>1.必須項目(テキスト):</td>
        <td colspan=""3"" nowrap>
          <html:text name=""_commonForm"" property=""t1"" size=""50"" maxlength=""25"" errorStyleClass=""error-input"" />
        </td>
        <td nowrap>
        </td>
      </tr>
      <tr>
        <td>1.必須項目(テキストエリア):</td>
        <td colspan=""3"" nowrap>
          <html:textarea name=""_commonForm"" property=""t1_textarea"" cols=""15"" rows=""5"" errorStyleClass=""error-input"" />
        </td>
        <td nowrap>
        </td>
      </tr>
    </table>
  </div>
  <br>
  <br>
  <div align=""center"">
    <table border=""0"" cellspacing=""1"" cellpadding=""1"">
      <tr>
        <td nowrap>
          <html:submit property=""forward_action"" value="" 実 行 "" />
        </td>
      </tr>
    </table>
  </div>
</ts:form>

<2> struts-validtion-config.xmlで画面遷移の設定

<!-- 1.必須項目チェック入力遷移-->
    <action path=""/v1""  
       name=""_commonForm""   
         scope=""session""> 
       <set-property property=""cancelPopulate"" value=""true"" />
       <forward name=""success"" module=""/validation"" path=""/v1.jsp""/>
    </action>
    <!-- チェックアクション -->
    <action path=""/v1CheckAction""
            name=""_commonForm""
            input=""/v1.do""
            validate=""true""> 
        <forward name=""success"" module=""/validation"" path=""/v1.jsp""/>
        <forward name=""default"" module=""/validation"" path=""/v1.jsp""/>
     </action>   
<3> validationContext.xmlでForwardActionのインスタンス設定
<!-- 1. 必須 -->        
  <bean name=""/validation/v1"" scope=""singleton""
    class=""jp.terasoluna.fw.web.struts.actions.ForwardAction"" />
  <bean name=""/validation/v1CheckAction"" scope=""singleton""
        class=""jp.terasoluna.fw.web.struts.actions.ForwardAction"" />     

<4> 最後、validation.xmlでバリデーションチェックルールの設定

 <!-- 1.必須項目チェック -->
      <form name=""/v1CheckAction""> 
      <field property=""t1""
             depends=""required"">
             <arg key=""入力テキスト"" resource=""false"" position=""0""/>
           </field>  
         <field property=""t1_textarea""
             depends=""required"">
             <arg key=""入力テキストエリア"" resource=""false"" position=""0""/>
           </field>    
      </form>  

それでは、http://localhost:8080/vc/v1.doにアクセスして、必須項目チェック(required)を検証してください。
何も入力せず、「実行」ボタンを押すと、こんな画面が出ます。


以上、Terasolunaでバリデーションチェックの必須チェックサンプルでした。

後日に、Terasolunaでほかのバリデーションチェックのサンプルを掲載する予定です。ぜひ閲覧してください。


♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
3人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check