Laravel 之 数据验证

  • 快速验证
  • 表单验证

表单验证

表单如果未验证通过侧会返回提交的表单页. 并带回错误信息.

#文件位置于 App\Http\Requests\Test.php
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class Test extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title' => 'required',
            'nickname' => 'required',
        ];
    }
    /**
     * 自定消息
     */
    public function messages()
    {
        return [
            'title.required' => '标题不能为空',
            'nickname.required' => '昵称不能为空',
        ];
    }

}

使用验证规则

#文件位置于 app\Http\Controllers\Test.php
<?php
namespace App\Http\Controllers;   
class TestController extends Controller
{
    public function validateView()
    {
        return view('test/validate');
    }
     public function validates(Test $request)
    {
        $all = $request->all(); #如果验证不通过直接重定向回原来的方法并带回错误在模板显示
        var_dump($all);
    }

}
#文件位置于 resources/views/test/validate.blade.php

@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('Test/validate') }}" method="post">
        {{ csrf_field() }}
        文本域:  <input type="text" name="nickname" /> <br/>

        文本域: <input type="text" name="title" /> <br/>

        <input type="submit" />
    </form>

results matching ""

    No results matching ""