6
我很难让jQuery验证插件按我的需要工作。请与我裸露,因为我没有JQ专家:).valid()只验证jQuery验证插件的第一个输入
我所拥有的是几个所需输入的形式,规则如下显示:
$("#makeEvent").validate({
onfocusout: false,
rules: {
name: {
required: true,
minLength: 2,
maxLength: 100
},
host: {
required: true,
minLength: 2,
maxLength: 100
},
startDate: {
required: true,
date: true
},
endDate: {
required: true,
date: true
},
desc: {
required: true,
minLength: 10,
maxLength: 255
},
webpage: {
required: false,
url: true
},
email: {
required: true,
email: true
},
}
});
现在我有一个自定义的。点击()调用在那里我想验证表单,然后在允许他们发送表单之前显示用户的预览。请参阅下面的功能:
$('#submitPreview').click(function() {
if($("#makeEvent").valid() === false) {
//What to do if validation fails
} else if($("#makeEvent").valid() === true) {
//Show the preview and let the user either make changes or submit the final result
}
});
但是,什么情况是,该功能仅验证第一输入(名称),甚至验证它错误地(规则最少需要2个字符,它仍然只用1个字符验证如果没有添加任何字符,它只会返回false)。
也许我的方法并不是最好的,所以我都乐于接受任何建议。如果你想看看凌乱的源代码,你可以看到这里的功能:http://event.gusthlm.se/make.php
谢谢!
你猜怎么着?这解决了这个问题。我永远都不会猜到......谢谢! – 2010-08-04 16:11:57
我知道这是旧的,但我有一个问题,我不能有名称字段。我使用Stripe验证信用卡,并保持信用卡信息不会触及我们的服务器,因此我们必须排除name属性。我也很好奇为什么name属性对客户端验证有任何影响? – computrius 2012-11-05 14:53:23
@computrius,因为jQuery Validate插件需要'name'属性......开发者决定插件应该跟踪输入的方式。 – Sparky 2013-06-26 17:08:51