javascript - 使用数组中的值进行 jQuery 验证

标签 javascript jquery arrays validation jquery-validate

我有一个简单的表单,想添加一个自定义的 jQuery 验证规则。我希望文本字段 (bonuscode) 只有少数可能的值。我假设我需要这些值的数组,但对 javascript 了解不多,我不知道我哪里出错了。

jQuery.validator.addMethod("equals", function(value, element, param) {
    return this.optional(element) || value == param;
}, jQuery.format(""));

$(document).ready(function(){
    $("#form").validate({
        debug: false,
        rules: {
            bonuscode: {equals: ["code1", "code2"]}
        },
        messages: {
            bonuscode: "That's not a Bonus Code!",
        },
    });
});

最佳答案

将奖励值放在 javascript 数组中并不是一个好的解决方案。您可以向服务器发出 ajax 请求并检查奖金值。这是示例代码。

您可以使用验证插件中的远程选项来检查奖金

$("#form").validate({
  debug: false,
  rules: {
    bonuscode: {
      required: true,
      remote: {
        url: "check-bonus.php",
        type: "post",
        data: {
          bonuscode: function() {
            return $("#bonuscode").val();
          }
        }
      }
    }
  }
});

关于javascript - 使用数组中的值进行 jQuery 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882424/

相关文章:

javascript - 如何将 div 标签附加到 SVG 矩形元素中?

javascript - 选中复选框后出现输入字段。 HTML

javascript - 使用正则表达式分解字符串

javascript - CasperJS 每 x 秒检查一个页面,直到满足条件

jQuery 删除类的最后一个子级

javascript - 通过更改内容找到 div 的最小高度,这样下面的页面就不会跳来跳去

jquery - 使用代表每个类的复选框切换具有多个类的多个部门的可见性

java - 在 Java 中将 .dat 文件读入数组

c - 为什么puts()最后会打印一个额外的字符?

C:传递二维整数数组