[英]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.