我在模态窗口中有一个表单,当前正在执行一些验证。 (我使用的是ASP.NET MVC,JQuery UI,ajax表单,数据注释和unobtrusive是活动的)
当这个验证触发时我到目前为止已经注意到它做了一些事情:
1:我的验证摘要会将其类从.validation-summary-valid
更改为.validation-summary-errors
2:我的无效输入添加了一个类,然后调用.input-validation-error
3:我的验证消息将其课程从.field-validation-valid
更改为.field-validation-error
但是它还有其他功能,我无法弄清楚它是如何跟踪它的。
我有一个必需的文本框,在触发验证之前我可以在这个框内选择,然后选择另一个框,验证将是静默的。
但是只要我通过单击带有空文本框的提交来触发验证,我就可以选择文本框并输入一些内容以立即删除验证,但如果我将其置零并选择其他框,则会重新应用此错误没有重新提交。
所以我的问题是:发生了什么变化,它是如何知道我已经尝试提交的?
答案 0 :(得分:1)
调用validate时,它会为每个应该验证的输入/选择添加一个类。当输入/选择无效时,它会向输入/选择添加一个类:
class="input-validation-error"
如果有效,则添加:
class="valid"
验证仅在您更改值时触发控件,而不是在失去焦点时触发。
即使在您提交表单之前,验证也会触发更改。获取一个必需的文本框,为其添加一个值,然后选择标签...然后返回并删除该值,您应该看到文本框突出显示为红色。