LiveValidation .remove 不起作用

2024-03-01

我有一个与 LiveValidation 扩展一起使用的 Web 表单。我有一个条件规则,如果用户选择美国,则州或省字段必须位于州缩写列表中。

我的问题是,如果用户选择美国,然后返回并更改其答案,则应删除验证规则,以便他们可以输入任何旧的文本字符串。我已经四次检查了我的语法,该函数返回一个 liveValidation 对象而不是一个错误对象,但规则没有被删除。任何建议将不胜感激。

这是脚本:

            if($('#edit-submitted-state-or-province').length){    
            var field12 = new LiveValidation('edit-submitted-state-or-province', { validMessage: " ", onlyOnBlur: true });
            field12.add( Validate.Presence,  { failureMessage: "Please enter your state or province." }  );
            }
            $('#edit-submitted-country').change(function() {
                var stateList = new Array("","AK"..."WY");
                if($("#edit-submitted-country").val() == "United States"){
                    field12.add( Validate.Inclusion, {within: stateList, failureMessage: "Please enter a valid 2-letter state abbreviation."});
                }
                else{
                    field12.remove( Validate.Inclusion, {within: stateList, failureMessage: "Please enter a valid 2-letter state abbreviation."});
                }
            });

回答这个问题可能已经太晚了,但这里是......

LiveValidation.remove 的文档指出“您必须向其传递与用于添加验证的参数完全相同的参数”。尽管验证函数(Validate.Inclusion)相同,但参数对象每次都会不同。它“看起来”相同并不重要(也就是说,您应该比较添加的对象和删除的对象之间每个属性的值的结果),这意味着它必须是同一个对象。确保这一点的唯一方法是移动参数对象的声明outside您在其中操作验证对象的回调,以便仅创建一次,而不是每次调用回调时都创建它。

这是代码(顺便说一句,我重命名了你的 ids)。我还确保验证检查只能添加一次。

$(function() {

var field12,
    added = false,
    stateList = ["", "AK", "CO", "WY"]; // etc
    params = {
        within: stateList,
        failureMessage: "Please enter a valid 2-letter state abbreviation."
    };    

if ($('#state').length) {    
  field12 = new LiveValidation('state', {
      validMessage: " ",
      onlyOnBlur: true
  });

  field12.add(Validate.Presence, {
      failureMessage: "Please enter your state or province."
  });

}

$('#country').change(function() {
  if ($("#country").val() == "United States") {
      if (!added) {
          field12.add(Validate.Inclusion, params);
          added = true;
      }
  }
  else {
      if (added) {
          field12.remove(Validate.Inclusion, params);
          added = false;
      }
  }
});

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

LiveValidation .remove 不起作用 的相关文章

  • 如何将一个表单的文件上传字段中的值复制到另一个表单的文本字段?

    我有一页上有两种不同的表格 第一个表单允许用户上传图像文件并通过电子邮件发送 第二个表单根据用户输入生成 URL 为了将图像名称添加到 URL 我需要在第二个表单中有一个字段 该字段从第一个表单的字段中复制图像名称 我不想让用户浏览并选择图
  • Angular2 与 Jquery-ui 滑块

    我尝试将 Jquery ui 滑块与 angular2 一起使用 我想让变量 slideValue 显示滑块的值 但我不知道如何将我的模型或变量从角度绑定到滑块 这是我的滑块组件 import Component ElementRef In
  • 计算字符串中的唯一单词

    下面我尝试将字符串数组提供给一个函数 该函数将唯一单词添加到单词数组中 并且如果该单词已经在数组中 则增加计数数组中相应元素的计数 var words var counts calculate a b calculate a c funct
  • 如何使用 jQuery 在按下按钮后保持按钮处于活动状态

    我见过一些非常相似的问题 但一直无法找到我正在寻找的答案 我已经确定了解决方法 但想知道执行该任务的正确方法 我想要的是单击按钮并使活动状态保持不变 下一次单击将切换状态 这是所需的 我真正需要知道的是如何解决 uiButton activ
  • 当标题中包含“&”时,电子邮件标题无法正确显示,如何在 JavaScript 中修复?

    我有一些代码以以下格式显示文章标题列表 简短描述和作者姓名 标题 作者姓名 描述 作者的姓名和描述与此处无关 因为它们始终显示正确 大多数标题也可以正确显示 以下是一些虚构的示例 关于银行业务您需要了解的最重要的一件事 作者姓名 正确显示
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • 用于传输命名参数和正文的云端点资源属性不起作用

    我正在尝试通过gapi client rpc调用实现对谷歌云端点的调用 如文档中所述 和Google Cloud Endpoints 使用 JS 客户端进行调用 传递参数和 JSON 正文 https stackoverflow com q
  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • 创建 html 结构,每个 li 中仅允许 3 个 div 元素。在 React + underscore.js 中

    这是以下内容的位副本如何创建每个 li 中仅允许 3 个 div 元素的 html 结构 在 React underscore js 中 https stackoverflow com questions 38008023 how to c
  • 动态更改 vuejs 2 中的选择输入选项

    如何动态更改选择下拉 v model 中的选项 我有 2 个选择输入 其中一个应该根据其他输入进行更改 例如 如果我选择 水果 则选择显示水果 如果我选择 蔬菜 则选择显示蔬菜 我不使用Vuejs 但查看文档后 var TypesArr F
  • Intro.js 2页然后返回首页

    我在用intro js http introjs com 为我的网站创建一个小介绍 我希望游览从第 1 页 主页 2 另一页 然后回到第 1 页 主页 我已经成功地从第 1 2 页开始 但不确定如何让它返回到第 1 页 我对 javascr
  • 如何使用javascript从word文档页面中删除表格设计? Word js 插件

    我正在从表格 html 的 word 文档最后一页插入表格设计 我怎样才能删除它 这是我的代码 async function NewMap try await Word run async context gt html to word h
  • 可选回调的 JavaScript 样式

    我有一些函数偶尔 并非总是 会收到回调并运行它 检查回调是否已定义 函数是一种好的风格还是有更好的方法 Example function save callback do stuff if typeof callback undefined
  • JavaScript 中的最短路径

    几周来我一直在寻找一种在 JavaScript 中计算最短路径的方法 我一直在玩书数据结构和算法作者 格罗纳 Groner 名字恰如其分 https github com loiane javascript datastructs algo
  • Facebook API Javascript JSON 响应

    function getUser FB api me function response console log Response is response alert Your name is response first name ale
  • 模拟节点外部模块默认使用 jest 的链式方法

    在我们的节点 CLI 中 我们有一个简单的方法 use strict const ora require ora module exports function startSpinner textOnStart color spinnerT
  • 在React组件中使用的字符串变量中插入html

    我正在为我的投资组合网站构建一个反应应用程序 目前我已经用 JSX 编写了应用程序 因此我可以添加以下内容 class Project extends React Component render return div h1 this pr
  • 如何在 Firefox 插件中追加到文件?

    var tabs require sdk tabs var iofile require sdk io file var widgets require sdk widget var selection require sdk select
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki
  • Javascript/jQuery 外部高度()

    Does idOfLememt outerHeight 对所有浏览器产生相同的结果 IE7 有什么不同吗 只要去http api jquery com outerHeight http api jquery com outerHeight

随机推荐