我使用jQuery验证插件进行了混合的客户端/服务器端验证。验证发生在提交和某些变更字段上。表格通过AJAX提交。在更新数据库之前,应用程序还有另一个验证。 如果由于此验证失败而未将数据更改存储到数据库,我将通过JSON将结果返回到处理AJAX表单提交的JS方法。 理想情况下,我会通过类似的方式将后端传递给JS的自定义消息引发错误 $ .validator.showErrors(OBJ); 正如所讨论的那样here 不幸的是,validator.showErrors(...)方法没有在该上下文中定义:
$(document).ready(function() {
$('.form').each(function() {
$(this).submit(function(e) {
e.preventDefault();
if ($.submitForm()) {
(...)
$.post(url, $.param(context), function(data) {
if (!data.success) {
$.validator.showErrors(...);
//$("#basicdetails").validate();
}
}, "json");
}
(...)
您还可以看到我尝试过表单重新验证,这也应该触发相应的错误(虽然更多的是真正的解决方案)。
我希望保留静态客户端验证,并在提交ajax后能够引发可能在后端发生的任何错误。
感谢您提供任何帮助。
的Pawel