我正在使用 MVC3 C#,并且我有一个带有一些数据注释的模型(验证规则)
在我的 view.cshtml 文件中,我有一个带有一些复杂逻辑的表单,它使用现有元素上的绝对坐标绘制一些图形。
当用户提交带有不正确数据的表单时,jQuery 检查会使 @Html.ValidationMessageFor(...) 的某些字段可见,现在用户可以更正数据 - 并立即使 @Html.ValidationMessageFor(...) 消息消失。
所以,这个显示/隐藏移动了其他页面元素,这个移动打破了我的绝对定位,我需要调用重绘函数( CorrectSizesAndPos(); )。
我怎样才能捕捉到这些讨厌的高光/非高光事件?
目前:
我将 id 添加到我的表单中:
@using (Html.BeginForm("Action1", "Controller1", FormMethod.Post, new {id="VMCreateForm"}))
我添加事件来检查提交数据:
$("#VMCreateForm").submit(function () { if (true == $("#VMCreateForm").valid()) { $(":disabled").removeAttr('disabled'); //<-- I need this to transfer data to server from some disabled fields... } CorrectSizesAndPos(); return true; });
如果表单不好,我可以在提交之前发现:
$(document).ready(function () { $("#VMCreateForm").bind('invalid-form.validate', function (form, validator) { console.log('invalid-form.validate'); CorrectSizesAndPos(); } ); });
我尝试在 $("#VMCreateForm").validate({ .. }) 内添加一些事件,但它们没有被调用......
当不显眼的验证显示或隐藏验证消息时,我如何捕捉到?