fr-itaya / training

0 stars 0 forks source link

サーバサイド - フレームワーク - Laravel - フォームのバリデーション、CSRF対策 #42

Closed fr-sato closed 9 years ago

fr-sato commented 10 years ago

■目的

Laravelでのフォームバリデーション、CSRF対策について学びます。

■課題

PHP > フォーム作成と同様の対応をLaravelを用いて対応して下さい。
対応したらGitHubのPRで共有して下さい。

fr-itaya commented 9 years ago

本課題は工数見積計20時間頂きたいところです…。 よろしくお願いいたします!

fr-itaya commented 9 years ago

参考資料

エラーメッセージ


fr-itaya commented 9 years ago

カスタムバリデーションの作り方


今回の課題では下記ブログ記事の方式で作成した。 (但し呼び出しはRouteではなくController側に記述した)

fr-itaya commented 9 years ago

テキストボックス⇔チェックボックスの連携

チェックボックスに入力があった場合、テキストボックスを必須項目化

バリデートのrequire_ifを使えば簡単に実装出来る。

'hobby.4' => 'required_if:hobby.3,"その他:"'
テキストボックスに入力があった場合、チェックボックスに自動で入力

長いことハマっていた。

バリデート通す前に、下記記述を追加。

//チェックボックスへの自動入力
if (Input::has('hobby.4') && empty(Input::get('hobby.3'))) {
    Input::merge(array('hobby' => array(1 => Input::get('hobby.1'), 2 => Input::get('hobby.2'), 3 => "その他:", 4 => Input::get('hobby.4'))));
    Input::flash();
}