jQuery - 实时验证插件

时间:2008-10-16 15:44:32

标签: jquery validation plugins

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

我目前正在使用jVal - jQuery Form Field Validation Plugin。它的效果非常好。我唯一的问题是我只能使用通用错误消息。

例如:   我需要一个2到5个字符的字符串。如果它太短我想显示一条错误信息,表明它是短路的,如果它太长也是如此。我知道我可以显示一条错误消息,要求字符串在2到5个字符之间。 正在进行的验证更加复杂。

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


编辑:

验证工具需要防止特定的字母或数字,而不需要表格。

由于

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

以下是将检查以下内容的密码字段示例:

  1. 如果密码有8个字符或更多
  2. 如果密码至少包含一个数字字符
  3. 如果密码至少包含一个以上字母
  4. 如果未通过特定检查,它将显示自定义消息

    <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'}"