根据黑名单数组验证输入值

用户名

我目前正在使用jQuery Validation,我有一个包含四个输入字段的表格-单词,国家/地区,年龄和性别。

国家/地区,年龄和性别验证没有任何问题,但是Word不想验证-我试图获取Word值以在验证之前对照黑名单检查其自我,我试图防止用户提交令人反感的单词。

此刻,无论我在“单词”输入字段中键入什么单词,它始终显示为错误,并且不想验证。

如果有人能看到我要去哪里错了,我将不胜感激!

截屏

JS

 /* Blacklist Array */
    var blacklist = ['foo', 'bar', 'fizz', 'buzz', /* many more banned words... */ ];

    /* Blacklist Validation */
    jQuery.validator.addMethod("word", function(value) {
      var in_array = $.inArray(value, blacklist);
      if (in_array == -1) {
        return false;
      } else {
        return true;
      }
    });

    /* Submit Validation */
    $("#submit").validate({
      errorPlacement: function(error, element){},
      rules: {
        word: {
          required: true
        },
        country: {
          required: true
        },
        age: {
          required: true
        },
        sex: {
          required: true
        }
      },
      submitHandler: function(form) {
        alert('Submitted');
      }
    });

的HTML

  <form methord="post" name="wordsubmit" id="submit">
    <div class="inner">
      <input class="word" name="word" placeholder="Your Word" type="text"/>
      <select class="country" name="country" size='1'>
        <option value="">Your country</option>
      </select>
      <select class="age" name="age" size='1'>
        <option value="">Age</option>
        <option value="18-24">18-24</option>
        <option value="25-34">25-34</option>
        <option value="35+">35+</option>
      </select>
      <select class="sex" name="sex" size='1'>
        <option value="">Sex</option>
        <option value="Male">Male</option>
        <option vlaue="Female">Female</option>
      </select>
    </div>
    <input class="submit" name="submit" type="submit" value="Submit"/>
  </form>
罗里·麦克罗森(Rory McCrossan)

word您添加方法中的逻辑是向后的。如果输入的字阵中没有找到(即$.inArray回报率-1),那么你想返回true,因为这字是有效的。

在这种情况下,您可以将逻辑简化为:

/* Blacklist Validation */
jQuery.validator.addMethod("word", function(value) {
    return $.inArray(value, blacklist) == -1;
});

工作实例

请注意,在示例中,我已删除了错误消息抑制功能,因此您可以看到代码正常工作。

也有必要确保大小写与黑名单数组中的值一致,因此您可以使用value.toUpperCase()将输入的单词转换为相同的大小写value.toLowerCase(),因为当前FoO不匹配foo并且将被标记为有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据黑名单数组验证输入值

来自分类Dev

黑名单数组火花数据帧中字符串值的一部分

来自分类Dev

StackExchange黑名单

来自分类Dev

如何使用黑名单数组和正则表达式禁止变音符号的单词?

来自分类Dev

IP黑名单Apache

来自分类Dev

要求某种模式的IP黑名单

来自分类Dev

PHP邮件发送和黑名单

来自分类Dev

Windows Phone 8黑名单

来自分类Dev

Windows Phone 8黑名单

来自分类Dev

洪流跟踪网站黑名单

来自分类Dev

使用nftables创建动态黑名单

来自分类Dev

黑名单 xhci_hcd

来自分类Dev

将黑名单旧令牌重新与Laravel JWT进行身份验证

来自分类Dev

将黑名单旧令牌重新与Laravel JWT进行身份验证

来自分类Dev

用户名作为带有黑名单验证的参数

来自分类Dev

进出口dnslookup,优先级和“黑名单”(不是真正的黑名单)

来自分类Dev

SSH的白名单和黑名单

来自分类Dev

托管电子邮件黑名单的麻烦

来自分类Dev

使用Zend Opcache将目录列入黑名单

来自分类Dev

bash完成中的黑名单程序

来自分类Dev

将您自己的错误黑客发布列入黑名单

来自分类Dev

防止基于Rails中的黑名单进行用户注册

来自分类Dev

BrowserMob代理不会将https资源列入黑名单

来自分类Dev

GStreamer上的“列入黑名单”是什么意思?

来自分类Dev

如何通过php spamhaus ip黑名单进行查询

来自分类Dev

grep-使用文件将其列入黑名单

来自分类Dev

如何防止在刮擦亚马逊时被列入黑名单

来自分类Dev

为什么酒吧在pyint中被列入黑名单

来自分类Dev

如果黑名单中没有字母,则返回true