とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

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:~~)と同じだという事なので追記。

本家サイトに詳しいバリデートの方法がかてありますんでーノ
→本家サイト