具有多个规则的 jQuery 表单验证插件

2023-12-13

我正在使用 jQueryValidation 插件。Problem:我想在一个输入字段中使用多个模式规则。例如。:

$("form").validate({
 rules: {
    "email": {
        required: true,
        email: true
    },
    "password": {
        required: true,
        pattern: /^[A-Za-z0-9\w]{4,20}/,
        pattern: /^[\d\w\xC4\xD6\xDC\xE4\xF6\xFC\xDF]*$/
    }
 }
});

会发生什么:插件仅测试第二个模式规则。例如。输入类似“tst”的内容是有效的(因为这满足秒模式),尽管它违反了第一个模式规则。

据我了解这个插件中规则的逻辑,所有规则都必须返回 TRUE 才能验证表单。


您不能使用相同的key:value配对两次,因为第二个实例将覆盖第一个实例。

你有几个选择。

  • 将两个正则表达式合并为一个。一种方法将用一条错误消息来声明。所以不要使用pattern规则/方法来自additional-methods.js文件中,您将使用创建自己的自定义规则.addMethod() method.

  • 不要组合正则表达式模式,而是使用pattern规则一次并使用创建新的第二条规则.addMethod().

See: http://jqueryvalidation.org/jQuery.validator.addMethod/


我将创建一个专用于每个正则表达式模式的自定义方法,并给它一个语义相关的名称,诸如“电子邮件”、“电话”、“字母数字”、“IP”等。(这也与此插件内部处理所有正则表达式评估规则的方式相同。)

jQuery.validator.addMethod("foo", function(value, element) {
    return this.optional(element) || /^[A-Za-z0-9\w]{4,20}/.test(value);
}, "Your entered data is not foo");

jQuery.validator.addMethod("bar", function(value, element) {
    return this.optional(element) || /^[\d\w\xC4\xD6\xDC\xE4\xF6\xFC\xDF]*$/.test(value);
}, "Your entered data is not bar");

声明是这样的...

"password": {
    required: true,
    foo: true,
    bar: true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个规则的 jQuery 表单验证插件 的相关文章

随机推荐

  • 错误:Android 上的自签名 SSL 证书名称不匹配

    我正在尝试使用内置浏览器从 Android 2 3 4 访问受 SSL 保护的 Web 应用程序 服务器证书是我使用创建的自签名证书MAKECERT并安装在服务器上 当我尝试访问该页面时 我从浏览器收到一条错误消息 指出The name o
  • 如何在Unity中通过脚本创建动画剪辑?

    我想创建一个AnimationClip在脚本中针对GameObject在统一中 但是 我不知道该怎么做 我已将以下代码附加到GameObject在 Cube 中并按下播放按钮 但是 我得到了错误输出 using UnityEngine us
  • 如何在 Hibernate 中将多个值类型集合映射到一张表?

    出于性能原因 我试图将休眠中的许多值类型集映射到一张表 首先 我确实将它们全部放在自己的表中 这导致了太多的连接 我有一个类别类 其中包含许多带有一组集合的组件 然后我使用实体名称和鉴别器通过子类将它们映射到单个表 请参阅下面的映射片段 这
  • django - 加载静态文件的服务器错误

    所以我正在构建我自己的 django 网站 现在我一直在加载静态数据 我在控制台中收到以下错误 GET http localhost 8000 static css style css 500 Internal Server Error 我
  • Google Material图表柱形图(条形图)自定义列颜色不起作用

    我想画一个简单的柱形图 in HTML JavaScript using google chart 我用过Google materiel chart CDN绘制柱形图有 4 行 4 种不同颜色 我尝试了很多选择 但没有一个能正常工作 当我使
  • 将 .NET Maui Preview 14 发布到 App Store 和 Google Play

    是否可以将 NET Maui 应用程序发布到 Apple AppStore 和 Google Play 还是我们需要等到 NET Maui 最终确定 正如评论中已经指出的那样 您绝对可以 但由于明显的原因并未正式推荐 不过 我确实知道现在商
  • 使用itext在pdf页脚中创建包含2行的表格

    您好 我想添加 2 行页脚 第一行将包含带有背景颜色的文档名称 第二行将有版权说明 我尝试使用 ColumnText 创建 但我无法设置行的背景颜色 只有文本获取背景颜色 有什么办法可以实现这一点吗 我花了一整晚的时间来寻找解决方案 但没有
  • 如何求逆排列?

    假设我有一个未知向量v 以及一个排列p 我该如何重建v from v p and p 一个等效的问题是找到一个排列q这样p q 1 2 n 由于这将在紧密循环中运行 因此我需要将答案矢量化 并且高效 为了找到逆排列 我通常使用 q sort
  • 在Android中使用静态方法?

    我已经在 Android 中制作了一些应用程序 并注意到我经常使用静态方法 例如我有一个类扩展PreferenceFragment 在此 PreferenceFragment 中我设置了一个onClick事件在Button Button b
  • INSERT,并获取自增值

    考虑下表 create table language id integer generated always as identity START WITH 1 INCREMENT BY 1 name long varchar constra
  • 在 PHP 中迭代嵌套数组

    我在此链接上有一个嵌套数组阵列样本 我正在使用下面的代码来解析它 但第二次和深度之外它什么也没有返回 但是尝试使用递归函数 printAllValues ArrXML function printAllValues arr keys arr
  • android中没有创建数据库

    在我的应用程序中 活动运行良好 但未创建数据库 logcat 中也没有错误 主要活动类别 package com example testdb import android os Bundle import android app Acti
  • vba sumifs单列中的多个条件

    假设我在 A 列和 B 列中有这样的内容 A 5 A 1 3 A 2 2 A 3 3 A 4 4 我想做 Application SumIfs range b b range b b A A 2 但这不起作用 数组值 我希望不经历 EVAL
  • 计算 MongoDB 中另一个字段分组的文档中某个字段中字符串实例的数量?

    我有一个特定的用例 我正在尝试找到一种方法在一个聚合管道中完成它 并且最好不需要对任何数据值进行硬编码 我想根据一个属性对文档进行分组 并查看文档中特定字段的值计数 示例数据 flightNum DL1002 status On time
  • Cocos2d 获取当前时间(以毫秒为单位)

    我尝试用谷歌搜索 但仍然找不到最佳答案 我想要的很简单 我只想获取当前时间 以毫秒为单位 我怎样才能在 cocos2d 中做到这一点 首先 一个类变量 CGFloat gameTime 然后在你的类中初始化 self scheduleUpd
  • 简单的xml添加属性

    当我使用 PHP 在 XML 中添加新元素时 如何设置属性 我的PHP代码是这样的
  • 在C中将int数组更改为float数组

    有谁知道如何将整数数组转换为浮点数组 你的问题措辞不好 但是 假设您已经声明了整数数组 您可以尝试如下操作 instantiate float array float fArray sizeOfIntArray step through e
  • 阅读 SICP 时使用什么解释器? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在阅读 SICP 书 网址为http mitpress mit edu sicp 要运行示例代码 我应该使用哪个解释器 我考虑过 Eclipse 的 Dandelion Lisp
  • 修改j2me midlet

    我想更改开源应用程序中的一些字符串 测试目的 所以我使用 jad 反编译器反编译我的应用程序 原始类文件http dl dropbox com u 32657135 YourTube class 发出命令Jad exe Yourtube j
  • 具有多个规则的 jQuery 表单验证插件

    我正在使用 jQueryValidation 插件 Problem 我想在一个输入字段中使用多个模式规则 例如 form validate rules email required true email true password requ