如何使 ASP.NET MVC3 客户端表单验证在自定义表单发布事件之前运行
我有一个表单视图,它使用 asp.net mvc 3 中的不显眼的客户端验证来验证表单字段。
我还有一个自定义 jquery 脚本通过 ajax 提交表单
$(document).ready(function () {
$('#Submit').click(function (event) {
/* collect form input values as json*/
/* post the json data via ajax */
event.preventDefault();
event.stopPropagation();
});
});
我的问题是如何更改事件处理程序的顺序,以便在我的 ajax 表单发布处理程序之前调用 asp.net mvc 3 客户端验证,以便 asp.net mvc 3 客户端验证在我的 ajax 表单发布处理程序之前被调用。如果存在任何验证错误,.net mvc 处理程序可以阻止调用我的处理程序。
我遇到的问题是 asp.net mvc 3 unobtrusive javascript 验证事件处理程序不会在我的事件处理程序之前触发。
通过禁用脚本末尾的代码来防止进一步的事件传播, 我可以看到,在执行我的处理程序后,确实触发了 asp.net mvc 3 客户端验证。
I have a view with a form that uses the unobtrusive client side validation in asp.net mvc 3 to validate the form fields.
I also have a custom jquery script to submit the form via ajax
$(document).ready(function () {
$('#Submit').click(function (event) {
/* collect form input values as json*/
/* post the json data via ajax */
event.preventDefault();
event.stopPropagation();
});
});
My question is how can I change the order of the event handlers so that the asp.net mvc 3 client side validation gets called before my ajax form post handler so that the asp.net mvc handler can prevent my handler from getting called if there are any validation errors.
The problem I am having is that the asp.net mvc 3 unobtrusive javascript validation event handler is not triggered before my event handler.
By disabling the code at the end of my script that prevents further event propegation,
I can see that the asp.net mvc 3 client side validation is indeed getting triggered after my handler is executed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用该方法:
您可以在事件内部
也许这篇文章有帮助:
jquery 新手:将验证与隐藏提交结合起来按钮
https://stackoverflow.com/questions/4539302?tab=newest #tab-top
You can call the method:
inside your event.
Maybe this posts helps:
jquery newbie: combine validate with hidding submit button
https://stackoverflow.com/questions/4539302?tab=newest#tab-top