GoogleAppEngine/Slim3/バリデーション
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
たとえば
<textarea name="summary" ></textarea>
このテキストエリアに対して「必須項目である」というバリデ...
**バリデーションのしくみ [#e5a5c63c]
Slim3のサーバサイドのバリデーションは、Controllerクラス内で
Validators の public boolean validate();
メソッドを呼びだすことで行います。
といっても単純で、
@Override
public Navigation run() throws Exception {
//なんか処理
if (validate()) {
// バリデーションチェックOKの場合、業務ロジック
return forward("/index");
} else {
// チェックNGの場合、元の画面へ戻る
return forward("/input.jsp");
}
}
private boolean validate() {
if (!isPost()) {
return false;
}
Validators v = new Validators(re quest);
v.add("summary", v.required());
v.add("author", v.required());
// v.add("reportDateStr",
// v.required(),
// v.dateType("yyyy/MM/dd"),
// v.regexp("^\\d{4}/\\d{2}/\\ d{2}$"));
return v.validate();
}
などのようにValidatorsクラスに、どのフィールドをどのよう...
ロジック側は以上であとはView側です。JSPでは、
<textarea name="summary" >${f:h(summary)}</textarea> ${f...
のように指定すればOKです。summaryというフィールドのバリデ...
結果は、以下の通りとなります。
<textarea name="summary" ></textarea> summaryは必須です。
**エラーをいっぺんに表示する [#wcf24243]
先ほど
${f:h(errors.summary)}
のようにフィールド名指定でエラー出力を行いましたが、発生...
<ul>
<c:forEach var="e" items="${f:errors()}">
<li>${f:h(e)}</li>
</c:forEach>
</ul>
**エラー時のみCSSで装飾する [#c42d8c8b]
エラー時のみ、エラー用のスタイルシートを適用したい、なん...
<textarea name="summary" class="${f:errorClass('summary'...
summaryフィールドがエラーになったとき、"error"というスタ...
<textarea name="summary" class="error"></textarea>
となります。エラーでない場合は
<textarea name="summary" class=""></textarea>
となります。
**関連リンク [#n6ad0cf5]
-[[バリデーション - Slim3 日本語サイト(非公式)>http://sit...
-[[【slim3】日付型のvalidation【Struts】 - 炸裂!情熱の右...
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
たとえば
<textarea name="summary" ></textarea>
このテキストエリアに対して「必須項目である」というバリデ...
**バリデーションのしくみ [#e5a5c63c]
Slim3のサーバサイドのバリデーションは、Controllerクラス内で
Validators の public boolean validate();
メソッドを呼びだすことで行います。
といっても単純で、
@Override
public Navigation run() throws Exception {
//なんか処理
if (validate()) {
// バリデーションチェックOKの場合、業務ロジック
return forward("/index");
} else {
// チェックNGの場合、元の画面へ戻る
return forward("/input.jsp");
}
}
private boolean validate() {
if (!isPost()) {
return false;
}
Validators v = new Validators(re quest);
v.add("summary", v.required());
v.add("author", v.required());
// v.add("reportDateStr",
// v.required(),
// v.dateType("yyyy/MM/dd"),
// v.regexp("^\\d{4}/\\d{2}/\\ d{2}$"));
return v.validate();
}
などのようにValidatorsクラスに、どのフィールドをどのよう...
ロジック側は以上であとはView側です。JSPでは、
<textarea name="summary" >${f:h(summary)}</textarea> ${f...
のように指定すればOKです。summaryというフィールドのバリデ...
結果は、以下の通りとなります。
<textarea name="summary" ></textarea> summaryは必須です。
**エラーをいっぺんに表示する [#wcf24243]
先ほど
${f:h(errors.summary)}
のようにフィールド名指定でエラー出力を行いましたが、発生...
<ul>
<c:forEach var="e" items="${f:errors()}">
<li>${f:h(e)}</li>
</c:forEach>
</ul>
**エラー時のみCSSで装飾する [#c42d8c8b]
エラー時のみ、エラー用のスタイルシートを適用したい、なん...
<textarea name="summary" class="${f:errorClass('summary'...
summaryフィールドがエラーになったとき、"error"というスタ...
<textarea name="summary" class="error"></textarea>
となります。エラーでない場合は
<textarea name="summary" class=""></textarea>
となります。
**関連リンク [#n6ad0cf5]
-[[バリデーション - Slim3 日本語サイト(非公式)>http://sit...
-[[【slim3】日付型のvalidation【Struts】 - 炸裂!情熱の右...
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: