【发布时间】:2014-12-22 02:21:05
【问题描述】:
让我的表单通过 AJAX 提交并从验证器返回错误但不知道如何访问它们。
所以我在我的控制器中返回这样的错误:
$validator = Validator::make($data, $rules, $messages);
if ($validator->fails()) {
return Response::json(array(
'errors' => $validator->messages()->all(),
200)
);
}
并且(使用萤火虫)我看到 JSON 是:
errors: Array
0: "This field is required"
等等。我正在寻找一种方法来处理所有可能的错误并将它们显示给用户。
通常我会在我的控制器中返回:
'empty-field' => true
然后在我的 AJAX 调用中:
success: function(data) {
if(data.empty-field == true) {
// inform the user of failure
}
}
但这很快就会变得乏味,通过 JSON 检查和发送所有可能的错误。有什么方法可以简单地检查返回的任何错误并处理它们?很像 Laravel 在不使用 AJAX 时处理错误的方式:
@if($errors->has('field'))
<p class="input-message input-error full-width">{{ $errors->first('field') }}</p>
@endif
谢谢。
【问题讨论】:
-
您必须将 HTTP 状态设置为错误代码之一。喜欢 400。然后使用 ajax
error回调。
标签: php ajax json laravel laravel-4