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

Strutsリファレンス
 
Web struts.wasureppoi.com
validateメソッドの入力チェック
スポンサード リンク

validateメソッドは、下記のようにActionFormクラスに実装します。

package sample.validate;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;

public class V1Form extends ActionForm{

  private String StringData;

   public String getStringData() {
    return StringData;
  }

  public void setStringData(String stringData) {
    StringData = stringData;
  }

   public ActionErrors validate(ActionMapping mapping,
                    HttpServletRequest request) {

    ActionErrors errors = new ActionErrors();

    if (StringData == null || StringData.equals("")) {
       errors.add("", new ActionMessage("errors.invalid","Stringデータ"));
     }
    return errors;
  }
}


プロパティ「StringData」がnullまたは空文字の場合はエラーとしています。(必須入力チェック)
validateメソッドの戻り値は、ActionErrorsになります。
入力チェックで、エラーが発生した場合、該当エラーのActionMessageを生成し、ActionErrorsに追加します。


スポンサード リンク


上記例のActionFormのアクション定義

<action-mappings>
  <action path="/v1_view"
    forward="/jsp/validate/v1_view.jsp"
    name="V1Form"
    scope="session"
    validate="true"
    input="/jsp/validate/v1.jsp">
   </action>
</action-mappings>

validate属性を"true"に指定すると、name属性指定のフォーム"V1Form"のvalidateメソッドを実行します。
入力チェックエラーが発生した場合、input属性で指定のJSP「/jsp/validate/v1.jsp」へ遷移します。
入力チェックが正常の場合は、forward属性で指定のJSP「/jsp/validate/v1_view.jsp」へ遷移します。


JSP「/jsp/validate/v1.jsp」の入力チェックエラーの表示

<%@ page pageEncoding = "Shift_JIS" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>

<html><body>
<html:errors/>

<html:form action="/v1_view" method="post">
<table>
<tr><td>Stringデータ</td><td><html:text property="stringData" size="15" maxlength="15" /></td></tr>
</table>
<html:submit property="submit">送信</html:submit>
</html:form>

</body></html>

<html:errors/>タグを上記例のように使用すると、validateメソッド内で格納したエラーメッセージが表示されます。

エラーメッセージ表示の詳細は、カスタムタグのhtmlタグのエラーメッセージを参照して下さい。

スポンサード リンク

入力チェックの種類
validateメソッドの入力チェック

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