【问题标题】:JQuery: Form Validation plugin - validate specific string?JQuery:表单验证插件 - 验证特定字符串?
【发布时间】:2012-12-21 23:17:18
【问题描述】:

我有一个使用这个插件的表单:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

效果很好 - 但我不知道如何通过输入到文本字段中的特定字符串进行验证。例如,我想创建一个仅在用户输入为“foo”时才验证字段的规则。

这里有文档http://docs.jquery.com/Plugins/Validation#API_Documentation

但它们似乎都不是我想要的。有谁知道解决这个问题的方法吗?

谢谢!

【问题讨论】:

标签: javascript jquery forms validation


【解决方案1】:

简单的...

$.validator.addMethod("equals", function(value, element, string) {
    return value === string;
}, $.validator.format("Please enter '{0}'"));
$("#form").validate({
    rules: {            
        name: {
            required: true,
            equals: "foo"
        }
    }
});

根据您的要求更新

$.validator.addMethod("equals", function(value, element, string) {
    return $.inArray(value, string) !== -1;
}, $.validator.format("Please enter '{0}'"));
$("#form").validate({
    rules: {            
        name: {
            required: true,
            equals: ["foo", "bar", 'blah"]
        }
    },
    messages: {
        name: "Please enter either '{0}' or '{1}' or '{2}'"
    }
});

【讨论】:

  • 谢谢 - 我想这就是我需要的。不要假设你知道一种方法来修改它说等于:“foo”或“bar”或“blah”(即有多个正确的输入)
  • 你的意思是你想要完成多个字符串验证??就像输入可以等于“foo”或“bar”或“blah”......
【解决方案2】:

来自Here

$.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please check your input."
);

现在验证文本框:

$("#Textbox").rules("add", { regex: "/* your regex */" })

【讨论】:

  • 谢谢,但我不确定如何在我当前的脚本旁边进行设置。会不会是这样的jsfiddle.net/MeltingDog/CVHKj
  • 更简单,$.validator.addMethod('Foo', function (value) { return /^Regex/.test(value); }, 'Not valid Foo');然后将此 Foo 类添加到您的文本框
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-28
  • 1970-01-01
  • 1970-01-01
  • 2015-04-27
  • 1970-01-01
相关资源
最近更新 更多