SmuraiFWのymlファイルで入力チェックをおやってみる
- samurai.yml
Validate:
name.required : '名前を入力してください'
View:
invalidInput : 'action:diary_update_manager'これでフォームの名前がnameの必須チェックができる。
この入力チェックに引っかかった場合にはinvalidInputがreturnされるので、
Viewで指定したアクションに飛ばされる。
戻されたdiary_update_managerのtplファイルに以下のエラーメッセージ出力用の
ロジックを書けばエラーメッセージが出力される
<!-- エラー表示用 -->
{ErrorList->getMessages assign='errors'}
{if $errors}
<ul class="errors">
{foreach from=$errors item='error'}
<li>{$error|escape}</li>
{/foreach}
</ul>
{/if}仕組みはオブジェクト出返されたエラーメッセージ一覧をforeachでまわしながら表示させているだけ・・らしい。
CSSで表示を赤くしたら完璧だね!
※追記
実はinvalidInputしたときにlocationすることも可能だそうです。
invalidInput : 'location:?action=index'
こうやればphpで言うところのheader(location:~~)と同じだという事なので追記。
本家サイトに詳しいバリデートの方法がかてありますんでーノ
→本家サイト