laravel FormRequestは、フォーム検証のために使用され、検証例外がJSONを返します

このプロジェクトでは、我々は検証のための上にフロントエンドの提出がたくさんあります渡されない場合、フォームは通常、エラー・メッセージが返されます。

validate()メソッドは、フロントエンドに応じて異なる方法で要求され、その結果を返すことができるが、より良い、使用Ajaxフォームの提出のために、遠位端を体験するためです。

しかし、戻りJSON形式は、私たちが望むものではありませんが、この時間は、我々はリターン誤った結果をカスタマイズする必要があります。

リクエストクラスにフォームを作成します。

PHPの職人メイク:要求TestRequest

そして、検証ルールおよびルール()とメッセージ()メソッド内で独自のメッセージを記入

<?phpの

名前空間のApp \のHttp \要求。

照らし\財団\のHttp \ FormRequestを使用します。
検証\バリ\を照らし\契約を使用します。
照らし\のHttp \例外\ HttpResponseExceptionを使用します。

クラスTestRequestが延びFormRequest 
{ 
    / ** 
     *控制访问权限
     * / 
    パブリック関数のAUTHORIZE()
    { 
        //注意、默认是偽、改成真の
        リターンはtrue。
    } 

    / ** 
     *验证规则
     * / 
    パブリック関数のルール()
    { 
        戻り[ 
            => '名前' 'は必要'、
            'PWD' => '必要' 
        ]。
    } 

    / ** 
     * / 
    パブリック関数メッセージ()
    { 
        戻り[ 
            'name.required' => '必須名'、
            'pwd.required' => '必要なパスワード' 
        ]; 
    } 
}

なお、親クラス()メソッドでfailedValidation FormRequestは、私たちは、自分の利益を実現するための親クラスのメソッドを書き換え、検証が失敗した処理するために使用されます。

パブリック関数failedValidation(バリ$バリデータ)
{ 
    投(新しいHttpResponseException(応答() - > JSON([ 
        'STATUS_CODE' => 500、
        'メッセージ' => '请求错误'、
        'データ' =>を$ validator->エラー( ) - >最初の()
    ]、200)))。
}

failedValidation()$バリデータのパラメータ法は間違いなく、\検証\バリを照らすない、検証\ Validatorのオブジェクト\ \契約を照らすためであることに注意してください。

おすすめ

転載: www.cnblogs.com/jkko123/p/11562980.html