9

我正在寻找一个 jQuery 插件,它可以在按下一个键并在它失去焦点后(文本框)进行验证。

我目前正在使用jVal - jQuery 表单字段验证插件。它工作得很好。我唯一的问题是我只能使用通用错误消息。

例如:我需要一个介于 2 到 5 个字符之间的字符串。如果它太短,我想显示一条错误消息,指示它太短,同样如果它太长。我知道我可以显示一条错误消息,要求字符串在 2 到 5 个字符之间。 正在进行的验证更加复杂。

其他验证器的任何想法或我如何使用此插件来显示独特的错误消息。


编辑:

验证工具需要防止特定的字母或数字,并且不需要表单。

谢谢

4

5 回答 5

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"
    }
});
于 2008-10-16T15:54:04.607 回答
2

试试这个:

http://www.geektantra.com/2009/09/jquery-live-form-validation/

于 2009-09-23T18:21:48.053 回答
2

对我来说最好的是http://livevalidation.com/ 或来自 baseassistance 的http://bassistance.de/jquery-plugins/jquery-plugin-validation/

jVal 和 live-form-validation 可以,但我认为使用 gjQuery 的全部意义在于使用干净、通畅的代码,而且它们需要大量的混乱,这对我来说不是一个选择。

我猜 live-form-validation 将在未来发展,真的很奇怪必须输入整个正则表达式来验证每个表单中的电子邮件......

于 2009-10-08T13:01:56.710 回答
0

我使用 jQuery 插件:验证。它非常适合动态创建 DOM 元素。在动态创建它们时,请确保包含属性名称和 ID。我很确定插件使用 name 属性在 html 中找到它们。如果名称丢失,则无法找到。

这也可能是另一个很好的验证工具。 http://www.livevalidation.com

于 2008-10-31T14:05:22.250 回答
0

在 jVal 0.1.4 的当前主干中,它可以处理比以前版本更强大的错误检查功能,允许您将字符串作为错误消息返回。在http://jquery-jval.googlecode.com/svn/trunk/jVal.js获取当前修订版 11 jVal 0.1.4 主干

下面是一个将检查的密码字段示例:

  1. 如果密码有 8 个字符或更多
  2. 如果密码至少有一个数字字符
  3. 如果密码至少有一个以上的字母字符

如果未通过特定检查,它将显示自定义消息

<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'}"
于 2008-11-28T02:08:17.030 回答