gpt4 book ai didi

jquery - Laravel:Ajax 用户注册验证错误

转载 作者:行者123 更新时间:2023-12-01 08:41:37 24 4
gpt4 key购买 nike

我正在使用 Ajax 进行 Laravel 默认注册 流程。

我的表单已成功发布。效果很好。但我无法通过 Ajax 显示 Validation 错误消息。

例如:用户电子邮件应该是唯一的。如果我不使用Ajax。刷新页面后会显示此验证错误。但在 Ajax 模式下,我想在不刷新页面的情况下显示此错误。

这是我的 JS 代码:

$.ajax({
url: form.action,
type: form.method,
data: $(form).serialize(),

beforeSend: function(){
$('.reg-overlay').show();
},
success: function(response){
location.reload();
},
error: function(response){
console.log(response.responseText);
var errObj=jQuery.parseJSON(response.responseText);

// if(errObj.email)
// $('#user-reg-email-err-msg').html(errIcon+' '+errObj.email);
// if(errObj.roll_no)
// $('#user-reg-roll-err-msg').html(errIcon+' '.errObj.roll_no);

alert(errObj.email); // It appears 'undefined'
},
complete: function(){
$('.reg-overlay').hide();
}
});

这里 alert(errObj.email); 显示 undefined。如何解决?

最佳答案

由于 response.responseText 的格式,您需要更改获取项目的方式。

来自:

errObj.email

至:

errObj.errors.email

片段:

var data = '{"message":"The given data was invalid.","errors":{"email":["The email has already been taken."],"roll_no":["The roll no has already been taken."]}}';
var errObj=jQuery.parseJSON(data);

if(errObj.errors.email)
$('#user-reg-email-err-msg').html(errObj.errors.email[0]);
if(errObj.errors.roll_no)
$('#user-reg-roll-err-msg').html(errObj.errors.roll_no[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="user-reg-email-err-msg"></div><br/>
<div id="user-reg-roll-err-msg"></div>

关于jquery - Laravel:Ajax 用户注册验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46453287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com