php ajax验证失败,php – AJAX模式下的验证错误

目前我用这个来通过ajax显示验证错误:

if (data.validation_failed == 1)

{

var arr = data.errors;

$.each(arr, function(index, value)

{

if (value.length != 0)

{

$("#validation-errors").append('

'+ value +'
');

}

});

$('#ajax-loading').hide();

$("#validation-errors").show();

}

它工作正常,完全是我需要的。

问题是我需要做的是将错误从laravel运送到ajax:

$rules = array(

'name' => 'required',

'password' => 'required'

);

$v = Validator::make(Input::all(), $rules);

if ( ! $v->passes())

{

$messages = $v->messages();

foreach ($rules as $key => $value)

{

$verrors[$key] = $messages->first($key);

}

if(Request::ajax())

{

$response_values = array(

'validation_failed' => 1,

'errors' => $verrors);

return Response::json($response_values);

}

else

{

return Redirect::to('login')

->with('validation_failed', 1)

->withErrors($v);

}

}

如果我想要将字段名称作为关键字,我必须迭代$ rules,但即使我不使用字段名称作为关键字,但是我必须迭代错误消息来构造$ verrors。

如何将$ v-> messages()转换为相当于$ verrors而不需要迭代?因为Response :: json()期待一个数组而不是一个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值