如上所述,我实现了客户端验证没问题,并根据需要弹出相关消息。但是,即使表单未处于有效状态,提交按钮仍会显示提交表单。
控制器方法立即将其抛出,因为ModelState无效,但是是否有一个标志/属性我可以检查客户端以防止帖子发生?
更新:
问题似乎是因为表单是使用jquery post异步提交的,因此无论验证状态如何,我的javascript方法都会发布数据。所以我要找的是,在我做这篇文章之前,要按照if( [Property/Method which indicates MVC Model State] == false ) return false;
的方式做一些事情,但是,我很难找到这样的方法或财产。
我考虑过实现一个检查函数,该函数可以识别'input-validation-error'类是否应用于我的任何表单字段。使用JQuery,它非常简单,但它并不适合我。有没有人对此有任何意见?
一方面,它似乎有点像黑客,因为我在验证它是否真的有效之后有效地遍历表单。另一方面,如果在同一页面上有多个表单,我不确定MVC JS如何识别模型状态,而如果我自己这样做,我可以识别出“这个表格的帖子,我”我对这些领域很感兴趣。