【问题标题】:How to change form validation on change of checkbox [duplicate]如何在更改复选框时更改表单验证[重复]
【发布时间】:2017-10-07 12:35:15
【问题描述】:

我的表单输入值基于正则表达式。有一个复选框。如果选中该复选框,则正则表达式/验证规则/消息也将针对相同的输入进行更改。我通过检查if ($('#is_active').is(':checked')) { ... } 条件实现了这一点。但是,我在运行时也需要它。

操作 1:

操作 2:

可能是,change(function() {}) 的复选框可以实现这一点。但是,第一次当change 事件不会触发时,我也需要检查is(':checked') 是否可能。但是,我不明白如何根据运行时的验证插件添加/删除成功/错误/突出显示的类/状态(复选框更改事件)!请看一下我的小提琴并帮助我以更好的方式实现这一目标。

Demo Fiddle

【问题讨论】:

  • 你应该在问题中发布你的相关代码,而不是仅仅依赖 jsFiddle。
  • 方法错误。带有条件依赖的实时验证属于rules 对象;无需创建新方法。当然不需要手动添加/删除成功/突出显示/等。正确完成后。查看链接副本中的代码。
  • 其实会有多种自定义方法。如果所有这些都在规则之内,那将是一团糟。这就是为什么,我不得不手动添加方法。而且,恕我直言,我不认为这是一个重复的问题。这两个问题的目的不同。

标签: jquery jquery-validate


【解决方案1】:

你在正确的轨道上。如果我理解正确,您只需要捕获复选框的更改事件并检查表单是否有效。

$('#is_active').change(function() {
        $("#custom-form").valid();
});

试试这个更新的小提琴:https://jsfiddle.net/LrcL3zg6/

【讨论】:

  • 是的,你是对的!我在找这个。但是,这个小提琴只有一个问题。页面加载后,如果我首先勾选复选框,则错误消息已出现(必需状态)。但是,我仍然没有触摸输入。 i.imgur.com/TCHqK6m.jpg
  • 您能否在表单上放置一个提交按钮,然后按照以下问题中建议的方式继续操作? stackoverflow.com/questions/16734177/…
  • 无论如何我都必须放置提交按钮。但是,表单需要在运行时进行验证。
猜你喜欢
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2013-01-28
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多