이 글은 Laravel의 FormRequest에서 오류 처리를 다시 작성하는 방법(코드 예제)을 소개합니다. 이는 특정 참고 가치가 있으므로 도움이 필요한 친구에게 도움이 되기를 바랍니다.
laravel 프레임워크의 기본 유효성 검사는 오류 처리 시 기본적으로 이전 페이지로 돌아가고, ajax인 경우에만 Json을 반환합니다. 항상 Json을 반환하려면 오류 처리
를 다음과 같이 다시 작성해야 합니다. Requests 디렉터리에 새 BaseRequest 클래스를 생성하세요
코드는 다음과 같습니다
<?php /** * @文件名称: BaseRequest.php. * @author: daisc * @email: jiumengfadian@live.com * @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
형식으로 오류가 발생합니다. failedValidation
方法,将抛出错误处理为了json
格式的。
然后在自定义的处理验证类中,继承该类就行了,
如:RegisterForm
그런 다음 사용자 정의 처리 확인 클래스에서 이 클래스를 상속받습니다.
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'=>'请输入正确的手机号', ]; } }
🎜
위 내용은 Laravel의 FormRequest에서 오류 처리 재정의 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!