php – Symfony2 ajax表单验证在树枝中渲染错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Symfony2 ajax表单验证在树枝中渲染错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2094字,纯文字阅读大概需要3分钟。
内容图文
我在Symfony2中有一个表单,我用ajax验证.这一切都正常,我在ajax调用的成功声明中找回了带有“global”(全局错误)和“fields”(这里的每个字段的错误)的json:
{"global":[],"fields":{"fos_user_registration_form_username":"Please enter a
username","fos_user_registration_form_email":"Please enter an
email","fos_user_registration_form_plainPassword_first":"Please enter a password"}}
我的问题是:在每个字段的视图中从“字段”中显示这些错误的最佳方法是什么?当我验证没有ajax的表单时,我将视图元素渲染为:
<div class="form-group">
{{ form_label(form.xyz) }}
{{ form_widget(form.xyz) }}
{{ form_errors(form.xyz) }}
</div>
我怎样才能将我的json对象的“field”列表中的错误注入到相应的中
{{ form_errors(form.xyz) }}
?
我很想听听你的想法和最佳实践.
问候.
解决方法:
你通过Javascript / jQuery添加它们.
我有类似的情况,这是我的代码:
发布表单数据并在出现错误时显示错误消息的Js代码.
$.ajax({
url : $(this).attr('action') + ".json",
method : 'POST',
data : $(this).serialize(),
}).done(function(data) {
// Code in case of success
}).fail(function(jqXHR) {
$.each(jqXHR.responseJSON.errors.children, function(k, v) {
errorsText = "";
if ((v.errors) && (v.errors.length > 0)) {
$.each(v.errors, function(n, errorText) {
errorsText += errorText;
});
$('#form_'+k).tooltip('destroy');
$('#form_'+k).tooltip({'title': errorsText});
$('#form_'+k).closest('div[class="form-group"]').addClass('has-error');
} else {
$('#form_'+k).closest('div[class="form-group has-error"]').removeClass('has-error');
$('#form_'+k).tooltip('destroy');
}
});
}
如果出现错误,这是我的Json.如果您使用FOSRestBundle,则是标准配置
{
"code":400,
"message":"Validation Failed",
"errors":{
"children":{
"name":{
"errors":[
"This value should not be blank."
]
}
"email":{
"errors":[
"This value should not be blank."
]
}
"privacy":{
"errors":[
"This value should not be blank."
]
}
}
}
}
我的表单的HTML是
<form id="sfForm" action="/landingbuilder/landing/test_template" method="POST">
<div class="form-group">
<label class="control-label required" for="form_name">Name</label>
<input type="text" id="form_name" name="form[name]" required="required" class="form-control" />
</div>
[..]
</form>
如果您需要更多细节,请询问
内容总结
以上是互联网集市为您收集整理的php – Symfony2 ajax表单验证在树枝中渲染错误全部内容,希望文章能够帮你解决php – Symfony2 ajax表单验证在树枝中渲染错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。