对于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()方法,是否重定向返回需要输入的错误??
是的,如果规则附加错误失败,使用$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
}