簡體   English   中英

使用表單請求時如何使用laravel捕獲驗證失敗

[英]How to catch validation failure with laravel when using form requests

我正在使用帶有laravel 5.2的formrequest文件來檢查輸入。 我正在使用jQuery的$ .post函數調用這種形式。 在我的控制台中,它返回422無法處理的實體 ,我懷疑它來自響應,因為我沒有將其格式化為json。 一種方法是這樣

我想知道如何從表單請求中調用,即將輸出消息更改為json的方法。

謝謝!

更新1

jQuery看起來像這樣:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('input[name="csrf-token"]').val()
    }
});

$("#changePassword").on('click', function(e){
    e.preventDefault();

    var data = {};
    data.name = $("input[name='name']").val();
    data.surname = $("input[name='surname']").val();
    data._token = $('input[name="_token"]').val();

    $.post('url',data).done(function(data){
        $(".message").empty().html("Done!");
    }).fail(
        function(response, status){

        }
    );
});

覆蓋您的請求類中的響應方法,如下所示

    /**
     * Get the proper failed validation response for the request.
     *
     * @param  array  $errors
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function response(array $errors)
    {
        return Response::json([
            'error' => [
                'message' => $errors,
            ]
        ]);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM