我已经阅读了我能在这里找到的关于这个主题的所有内容。我认为这个问题很简单,但是我却找不出来。我很高兴有休息的眼睛能看一眼。我哪里做错了?这个简单的表单只提交而不验证。我的问题是在一个更大的形式,但我发现我应该先测试它简单。我甚至在jsfiddle上测试过,也不理解那里的响应http://jsfiddle.net/asle/fmYLP/
<!doctype html>
<html lang="us">
<head>
<meta charset="utf-8">
<title>jQuery Validate Example Page</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script type="text/javascript">
jQuery().ready(function(){
$("#testform").validate();
})
</script>
</head>
<body>
<form id="testform" name="testform" method="post">Name:
<input name="testname" type="text" />
<br />Adress:
<input name="testadress" type="text" />
<br />
<input type="submit" value="submit">
<br />
</form>
</body>
</html>
根据文档,你的方法是"不推荐":jQuery().ready(function(){...})
.
改为使用jQuery(document).ready(function(){...})
或jQuery(function(){...})
引用OP:
这个简单的表单只提交而不验证。
因为您没有声明任何验证规则,所以无论您输入什么类型的数据,或者根本没有数据,表单总是有效的。
引用OP的评论:
我试图在输入中添加"required",它可以工作。我一直都有要在每个字段中添加"必需"吗?在演示中不是这样的。
<input required name="testname" type="text" />
我不确定你说的是哪个演示,但是你必须在的某个地方声明验证规则,否则,你怎么期望插件知道哪些字段是required
或应用另一种规则?
这里有三个有效的例子…
By inline attribute
(HTML 5):
<input required="required" name="testname" type="text" />
or by class
:
<input class="required" name="testname" type="text" />
或通过.validate()
在jQuery:
$(document).ready(function(){
$("#testform").validate({
rules: {
testname: {
required: true,
// another rule
},
testaddress: {
required: true,
digits: true
}
}
});
});
工作演示:http://jsfiddle.net/4HSYz/
还有一些方法可用于动态操作规则。
参见rules('add')
方法
阅读完整文档:http://docs.jquery.com/Plugins/Validation
Try
jQuery(document).ready(function() {
$('#testform').validate();
});