Maison >cadre php >Laravel >Introduction à la gestion des erreurs de remplacement dans FormRequest dans Laravel (exemple de code)

Introduction à la gestion des erreurs de remplacement dans FormRequest dans Laravel (exemple de code)

不言
不言avant
2019-01-09 10:00:253152parcourir

Ce que cet article vous apporte est une introduction à la gestion des erreurs de réécriture dans FormRequest dans Laravel (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La validation par défaut dans le framework laravel, lors de la gestion des erreurs, revient par défaut à la page précédente, et ne renvoie Json que lorsqu'il est ajax. Si nous voulons toujours renvoyer Json, alors nous devons réécrire la gestion des erreurs

comme suit : Dans le répertoire Requests, créez simplement une nouvelle classe BaseRequest

Introduction à la gestion des erreurs de remplacement dans FormRequest dans Laravel (exemple de code)

Le code est le suivant

<?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]]));

    }


}

réécrit la méthode failedValidation et gère l'erreur générée au format json.
Ensuite, dans la classe de vérification du traitement personnalisé, héritez simplement de cette classe
Par exemple : RegisterForm dans

<?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 [
            &#39;phone&#39;=>'required|regex:"^1\d{10}"',
            'email' => 'required|email',
            'password'=>'required|confirmed'
        ];
    }

    public function messages()
    {
        return [
            'phone.required'=>'手机号不能为空',
            'phone.regex'=>'请输入正确的手机号',
        ];

    }



}

Lorsque nous appelons RegisterForm dans le contrôleur, nous renverrons les informations d'erreur dans. Format Json.
Peu importe qu'il s'agisse d'AJAX

Introduction à la gestion des erreurs de remplacement dans FormRequest dans Laravel (exemple de code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer