Laravel 5.2新機能シリーズ - フォーム配列入力検証機能の実装

WBOY
リリース: 2016-06-23 13:16:13
オリジナル
1111 人が閲覧しました

Laravel 5.2 では新しいフォーム配列入力検証が追加されていますが、混乱していますか?以下では、この機能を説明するために特定の例を使用します。

まず、routes.php で対応するルートを定義します:

Route::get('form','TestController@form');Route::post('form/validate','TestController@validate');
ログイン後にコピー

次に、Artisan コマンドを使用して、対応するコントローラーを作成します:

php artisan make:controller TestController
ログイン後にコピー

生成された TestController.php ファイルを次のように編集します:

<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use App\Http\Controllers\Controller;class TestController extends Controller{    public function form()    {        return view('test.form');    }    public function validate(Requests\FormRequest $request)    {        return 'success';    }}
ログイン後にコピー

次に、フォーム ビュー ファイル resource/を作成します。 views/test /form.blade.php、form.blade.php ファイルの内容を次のように編集します:

@extends('layouts.app')@section('content')    <div class="container">        <div class="row">            @if (count($errors) > 0)            <div class="alert alert-danger">                <ul>                    @foreach ($errors->all() as $error)                    <li>{{ $error }}</li>                    @endforeach                </ul>            </div>            @endif            <form action="{{url('form/validate')}}" method="POST">                {!! csrf_field() !!}                <label>Company Name</label>                <input type="text" name="name">                <h3>Employees</h3>                <div class="add-employee">                    <label>Employee Name</label>                    <input type="text" name="employee[1][name]">                    <label>Employee Title</label>                    <input type="text" name="employee[1][title]">                </div>                <div class="add-employee">                    <label>Employee Name</label>                    <input type="text" name="employee[2][name]">                    <label>Employee Title</label>                    <input type="text" name="employee[2][title]">                </div>                <input type="submit">            </form>        </div>    </div>@endsection
ログイン後にコピー

入力するフォームに配列入力フィールドemployee[][name]とemployee[][title]を定義しました。複数の従業員名と役職を同時に入力します。

さらに、コントローラー TestController の validate メソッドに FormRequest リクエスト クラスを挿入していることに注意してください。以下では、Artisan コマンドを使用してこのリクエスト クラスを生成します。これはアプリ内で行われます。FormRequest.php は /Http/Requests ディレクトリに生成されます。ファイルの内容を次のように編集します。

php artisan make:request FormRequest
ログイン後にコピー

この時点で、コードの作成作業が完了したので、配列入力の検証をテストしてみましょう。ブラウザで http://laravel.app/ にアクセスすると、ページは次のように表示されます:

次にフォーム データを入力します:

最後に、[送信] ボタンをクリックして検証エラー メッセージを表示します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート