我正在尝试配置验证插件来执行 ASP.NET 生成表单的验证:
<script type="text/javascript">
$(document).ready(function () {
$("#aspnetForm").validate({
rules: {
"<%=ProjectName.ClientID%>": { required: true, minlength: 8 }
},
messages: {
"<%=ProjectName.ClientID%>": { requred: "can not be empty", minlength: "type at least 8 chars" }
},
invalidHandler:
function (form, validator) {
alert('validation failed!');
},
errorLabelContainer: $("#alert")
});
});
</script>
HTML看起来像这样:
<form name="aspnetForm" method="post" action="CreateProject.aspx"
onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_ShutUpPostbackButton')"
id="aspnetForm" enctype="MULTIPART/FORM-DATA">
<input id="ctl00_JQueryContent_ProjectName" type="text" style="width:99%;" maxlength="50" name="ctl00$JQueryContent$ProjectName">
</form>
由于某种原因,formenetioned FORM 标签有(加载页面后)
novalidate="novalidate"
包容。我不知道它来自哪里以及它是否会干扰我的验证。
如果我在 INPUT 中键入 INVALID 一个字母,插件会通过将 class="valid" 设置为 INPUT 元素来做出反应,也就是说,某些东西正在工作。
除了让它工作之外,我还需要知道如何根据验证结果禁用/启用输入元素(主要是按钮)。我知道 invalidHandler,但是有效结果的处理程序是什么?请注意,我需要在打字期间进行所有验证。