Javascript 输入类型上的Jquery表单验证
我目前有一个动态变化的表单。我使用的是所有文本输入,但它们都应该只接受数字Javascript 输入类型上的Jquery表单验证,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我目前有一个动态变化的表单。我使用的是所有文本输入,但它们都应该只接受数字 $("#result-form").validate({ rules: { .text: { required: true, digits: true } }, messages: {
$("#result-form").validate({
rules: {
.text: {
required: true,
digits: true
}
},
messages: {
.text:{
required: " Please enter a score!",
digits: " Please only enter numbers!"
}
},
submitHandler: function(form) {
form.submit();
}
});
目前,我尝试使用上述方法进行验证,但这不起作用。有什么想法吗?使用
名称
而不是类
rules: {
nameoftextbox: {
required: true,
digits: true
}
}
要在类中使用它,请执行以下操作:
jQuery.validator.addClassRules("classname", {
required: true,
digits: true
});
您可以在输入标记中添加“必需数字”属性,并执行以下操作:
var validator = $( "#result-form" ).validate();
validator.form();
这还允许您具体选择所需的文本框。
为了进一步阅读,我建议你阅读你不能这样做
$("#result-form").validate({
rules: {
.text: { // <-- MUST only be a NAME attribute
required: true,
digits: true
}
},
....
工作演示:
注释:
- 必须在jQuery
。如果未能执行此操作,则仅验证第一个匹配的元素中包装
。如果/每当选择器可能包含多个元素时,每个.rules()
- 必须确保考虑验证的所有表单输入元素都包含唯一的
属性。这就是插件跟踪输入的方式。如果未能执行此操作,则仅验证第一个匹配的元素名称
旁注: 你根本不需要这个
submitHandler: function(form) {
form.submit();
}
这已经是默认行为。实际上,form.submit()
与插件中的代码相同。换句话说,在这种情况下,您不需要调用submitHandler
。您只需要在需要超越或增强时使用它,例如使用ajax()
来补充您的答案,如果您添加了
$('input[type="text"]').on('keyup', function(e) {
$(e.target).valid();
});
您可以动态验证(第一次,只有在您单击“退出”或将注意力集中到其他元素后,输入才会被验证)id可能会更改,因为我可以通过按页面上的按钮添加需要验证的元素。您的回答的前半部分在技术上是不正确的。不是
id
,不是class
,也不是名称以外的任何东西。该死!我一定是看错了文件。谢谢你的更正+1显示动态创建元素的代码。我已经尝试过这个方法,对初始元素有效,但创建的任何新元素都无法验证。你知道为什么吗?我目前正在使用您提供的链接中的代码。@adamcarlin,您必须在创建新元素后调用rules()
方法。
$('input[type="text"]').on('keyup', function(e) {
$(e.target).valid();
});