laravel 框架中默认的validate验证,在处理错误的时候,默认是返回上一页,当为ajax的时候才会返回Json。如果我们要一直返回Json的话,那么需要重写错误处理
如下:在Requests目录只用 新建BaseRequest类
代码如下
<?php /** * @文件名称: BaseRequest.php. * @author: daisc * @email: [email protected] * @Date: 2019/1/8 */ namespace App\Http\Requests\Front; use Illuminate\Foundation\Http\formrequest; use Illuminate\Http\Exceptions\HttpResponseException; class BaseRequest extends FormRequest { public function failedValidation($validator) { $error= $validator->errors()->all(); // $error = $validator; throw new HttpResponseException(response()->json(['code'=>1,'message'=>$error[0]])); } }
重写了failedValidation方法,将抛出错误处理为了json格式的。
然后在自定义的处理验证类中,继承该类就行了,
如:RegisterForm中
<?php
namespace App\Http\Requests\Front;
class RegisterForm extends BaseRequest
{
/**
* 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 [
'phone'=>'required|regex:"^1\d{10}"',
'email' => 'required|email',
'password'=>'required|confirmed'
];
}
public function messages()
{
return [
'phone.required'=>'手机号不能为空',
'phone.regex'=>'请输入正确的手机号',
];
}
}
当我们在控制器中调用RegisterForm的时候,就回返回Json格式的错误信息。
不分是否是AJAX
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。
您可能感兴趣的文章:
- Laravel中使用FormRequest进行表单验证方法及问题汇总
- Laravel框架表单验证详解
- Laravel 5框架学习之表单验证
- Laravel 4 初级教程之Pages、表单验证
- laravel5.2表单验证,并显示错误信息的实例
- Laravel框架表单验证格式化输出的方法
- Laravel框架表单验证操作实例分析
- Laravel5.1 框架表单验证操作实例详解
- laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。



评论(0)