我似乎无法弄清楚为什么在验证字段后我的 div 中没有显示任何文本。我知道验证正在运行,但是我不确定为什么我的验证消息没有显示在 div 中。
这是我的代码:
<html>
<head>
<script src="Scripts/jquery-1.5.2.js" type="text/javascript"></script>
<script src="http://localhost:62147/Scripts/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
"use strict";
$(document).ready(function () {
$("#testerbtn").bind("click", function () {
alert("onclick is fired");
$("#myform").validate({
errorLabelContainer: $("#Errors"),
rules: {
textToVal: { required: true }
},
messages: {
textToVal: "the field is required! nub~!"
}
});
alert("validation should have happend.");
})
});
</script>
<title>Test Page</title>
</head>
<body>
<form id = "myform" action="htmlPage1.htm">
<div id="Errors"></div>
<div>
<input type="text" id="textToVal" value="" />
<input type="button" id="testerbtn" value="Tester" />
</div>
</form>
</body>
</html>
我在这里看到一些可能导致问题的事情:
确保您的
input
具有 name
属性:
<input type="text" id="textToVal" value="" name="textToVal" />
validate()
应该在点击处理程序的 outside 实例化。此外,将您的 button
类型更改为 submit
以自动触发验证码。总结:
JavaScript:
$(document).ready(function () {
$("#myform").validate({
errorLabelContainer: $("#Errors"),
rules: {
textToVal: {
required: true
}
},
messages: {
textToVal: "the field is required! nub~!"
}
});
});
Html:
<form id = "myform" action="htmlPage1.htm">
<div id="Errors"></div>
<div>
<input type="text" id="textToVal" value="" name="textToVal" />
<input type="submit" id="testerbtn" value="Tester" />
</div>
</form>
嗨特伦斯,
我相信
errorLabelContainer
是一个选择器(字符串),所以你应该使用
“#Errors
”而不是 $('#Errors')