laravel框架——表單驗證


創建路由  

Route::get('test','VerController@index');

Route::post('tosubmit','VerController@tosubmit');

在控制器中編輯代碼

class VerController extends Controller
{
    //表單頁面
    public function index()
    {
        return view('from.from');
    }

    //表單提交驗證
    //這種是用自帶的Request進行驗證
//    public function tosubmit(Request $request)
//    {
//        $this->validate($request, [
//            'title'=>'required',
//            'content'=>'required|min:10'
//        ]);
//        return 'success';
//    }

    //這種是用自己寫的Request,用php artisan make:request FromRequest生成
    public function tosubmit(Requests\FromRequest $request)
    {
        return 'success';
    }
}

 

FromRequest

    public function authorize()
    {
        //別問為什么,就是要返回true
        return true;
    }
    public function rules()
    {
        return [
            //這里寫規則
            'title'=>'required',
            'content'=>'required|min:10'
        ];
    }

 

自定義錯誤信息(設置成中文)

把en文件夾復制一份重命名為cn

然后在/config/app.php下修改

 

 

第二種:

  直接在Controller里面定義規則和錯誤信息

  

public function yanzhen()
    {
        $input = Input::except('_token');
        $relus = [
            //規則
            'name'=>'required|min:5'
        ];
        $message = [
            //錯誤信息
            'name.required' => '不能為空',
            'name.min' => '最少5個字符'
        ];
        //這里參數必須按照順序(驗證的內容,規則,錯誤信息)
        $vail = Validator::make($input,$relus,$message);
        if ($vail->passes()){
            return '通過驗證';
        } else {
            //這里傳入的是變量
            return back()->withErrors($vail);
        }
    }

  View:

<body>
<div class="container">
    @if(count($errors)>0)
        @if(is_object($errors))
            {{--這里一定要獲取$error->all()--}}
            @foreach($errors->all() as $error)
                {{ $error }}
            @endforeach
        @endif
    @endif
    {{ Form::open(['url'=>url("yanzhen")]) }}
    {{ Form::text('name') }}
    {{ Form::submit('提交') }}
    {{ Form::close() }}
</div>
</body>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM