我正在寻找一个jQuery插件,它可以在按下键并且失去焦点(文本框)后进行验证。
我目前正在使用jVal - jQuery Form Field Validation Plugin。它的效果非常好。我唯一的问题是我只能使用通用错误消息。
例如: 我需要一个2到5个字符的字符串。如果它太短我想显示一条错误信息,表明它是短路的,如果它太长也是如此。我知道我可以显示一条错误消息,要求字符串在2到5个字符之间。 正在进行的验证更加复杂。
其他验证器的任何想法或我如何使用此插件显示唯一的错误消息。
编辑:
验证工具需要防止特定的字母或数字,而不需要表格。
由于
答案 0 :(得分:14)
这个看起来符合你的描述:
以下是从演示源复制的一段代码:
// validate signup form on keyup and submit
$("#signupForm").validate({
rules: {
firstname: "required",
lastname: "required",
username: {
required: true,
minlength: 2
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
},
email: {
required: true,
email: true
},
topic: {
required: "#newsletter:checked",
minlength: 2
},
agree: "required"
},
messages: {
firstname: "Please enter your firstname",
lastname: "Please enter your lastname",
username: {
required: "Please enter a username",
minlength: "Your username must consist of at least 2 characters"
},
password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
confirm_password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long",
equalTo: "Please enter the same password as above"
},
email: "Please enter a valid email address",
agree: "Please accept our policy"
}
});
答案 1 :(得分:2)
答案 2 :(得分:2)
对我来说最好的是http://livevalidation.com/ 或来自baseassistance http://bassistance.de/jquery-plugins/jquery-plugin-validation/
的那个jVal和live-form-validation可以没问题,但我认为gjQuery中使用的全部内容是使用干净的无阻碍代码,而且它们需要很多混乱,这对我来说不是一个选择。
我想现实表单验证将在未来发展,真的很奇怪,必须输入整个正则表达式来验证每种形式的电子邮件....
答案 3 :(得分:0)
我使用jQuery插件:验证。它可以动态创建DOM元素。在动态创建它们时,请确保包含属性名称和ID。我很确定插件使用name属性在html中找到它们。如果名称丢失,则无法找到。
此外,这可能是另一个很好的验证工具。 http://www.livevalidation.com
答案 4 :(得分:0)
在jVal 0.1.4的当前主干中,它可以处理比以前版本更强大的错误检查功能,允许您返回字符串作为错误消息。在http://jquery-jval.googlecode.com/svn/trunk/jVal.js
获取当前版本11 jVal 0.1.4 trunk以下是将检查以下内容的密码字段示例:
如果未通过特定检查,它将显示自定义消息
<input id="web_pswd" type="password" size="20"
jVal="{valid:function (val) { if ( val.length < 8 ) return '8 or more characters required'; else if ( val.search(/[0-9]/) == -1 ) return '1 number or more required'; else if ( val.search(/[a-zA-Z]/) == -1 ) return '1 letter or more required'; else return ''; }, styleType:'pod'}"