首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery验证-在提交前添加规则

jquery验证-在提交前添加规则
EN

Stack Overflow用户
提问于 2016-01-21 06:37:33
回答 1查看 1K关注 0票数 0

我的大部分问题都出在这个问题上https://stackoverflow.com/questions/34846925/jquery-validate-rails-4-dynamically-update-rule-after-rendering-partial-via-a

我还没有得到任何反馈。我知道这可能很难理解。基本上,我需要在提交之前根据html数据属性更改规则的参数。我想知道有没有办法做到这一点。

我尝试在submitHandler中添加规则:

代码语言:javascript
复制
$('#custom-tag').validate({
    onfocusout: false,
    submitHandler: function(form) {
      $('#custom-tag').rules("add", {
        tagUniqueness: $('#taglist').data('tag-list').split(', ')
      });
    },
    rules: {
      tag: {
        minLengthSquish: 2,
        maxLengthSquish: 25,
        alphanumericAndWhitespace: true
      }
    },
    tooltip_options: {
      tag: { placement: 'right', animation: false }
    }
  });

但这并不起作用,我现在意识到submitHandler是在提交有效时运行的代码(可能应该被称为validSubmissionHandler)。

我还假设添加一个已经存在的同名规则将覆盖当前的规则和参数。如果不是,我将不得不删除,然后添加。

有没有办法在提交前添加规则?

EN

回答 1

Stack Overflow用户

发布于 2016-01-21 07:20:09

似乎您应该将您的提交处理程序或验证处理程序移出。也就是说,大概是这样:

代码语言:javascript
复制
$('form').submit(function(event) {
  $('#custom-tag').rules("add", {
    tagUniqueness: $('#taglist').data('tag-list').split(', ')
  });

  if ($('#custom-tag').valid() === false) {  
    // 'this' is the form, 
    event.preventDefault();
    // stop the submittion
    // ...message the user to let them know why the submit failed.
  }
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34911989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档