【问题标题】:Difference between Validator facade Vs Validate() method in Laravel 5.1Laravel 5.1 中验证器外观与 Validate() 方法之间的区别
【发布时间】:2015-10-11 13:12:12
【问题描述】:

对于 Laravel 5.1,我们知道我们可以通过这种方式进行验证:

使用 validate() 方法进行验证

$this->validate( $request, $rules);

使用 Validator Facade 进行验证

$validator = Validator::make($request->all(), $rules);
if($validator->fails()) {
  return redirect()->back()
    ->withInput($request->except('password'))
    ->withErrors($validator);
}

如果我使用 validate() 方法,是否需要输入错误重定向回来??

【问题讨论】:

    标签: laravel laravel-5.1


    【解决方案1】:

    是的,如果规则无法附加错误,使用$this->validate( $request, $rules) 可以为您重定向请求。另一方面,使用Validator:: 可以实现手动重定向。

    我建议您使用Form Request class 以保持您的代码清晰和可重用。

    class SignInRequest extends Request {
    
        public function authorize()
        {
            return true;
        }
    
        public function rules()
        {
            return [
                'email' => array('required'),
            ];
        }
    }
    

    所以,在你的控制器中你可以这样做:

    function validateSignIn(SignInRequest $request){
        // do stuff here if rules are ok
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2015-01-08
      • 2014-05-09
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 2015-10-26
      • 2017-03-18
      • 1970-01-01
      相关资源
      最近更新 更多