【问题标题】:Force Meteor Autoform to revalidate when input value is changed programmatically当以编程方式更改输入值时,强制 Meteor Autoform 重新验证
【发布时间】:2014-05-07 09:11:15
【问题描述】:

我正在使用 Meteor Autoform。

演示站点,随时可能消失: http://exmp-eat-46040.euw1.nitrousbox.com/form

我有一个带有<SELECT> 的邮政编码/地址表格,其中给出了用户可以选择的街道地址。 我还有其他的<INPUT>s 的门牌号、街道名称、城市等。

当用户从<SELECT> 中选择他们的地址时,我使用jQuery 将地址详细信息插入到各种<INPUT>s 中

当用户没有选择地址时,我会清除所有输入:

Template.addressSelect.events({
  'change #addressSelect': function(e) {
      if ($(e.target).val()=='none') {
        // no address slected, clear the other fields
        $('input[name="curflat_name"]').val('');
        $('input[name="curhouse_name"]').val('');
        $('input[name="curhouse_no"]').val('');
        $('input[name="curstreet_name"]').val('');
        $('input[name="curcounty"]').val('');
        $('input[name="curtown"]').val('');
        $('input[name="curcity"]').val('');
     }
  } // change #addressSelect

});

场景

  1. 用户没有选择任何地址,他们点击了我的表单的提交 按钮。
  2. Autoform 显示缺少必需项的错误消息 字段。
  3. 用户选择了一个地址,我填写了<INPUT>s
  4. 仍然显示错误消息

问题

如何清除任何 Autoform 生成的验证错误?或者,在我将好的数据插入表单字段后,如何触发 Autoform 运行它的表单验证?

【问题讨论】:

    标签: forms validation meteor


    【解决方案1】:

    快速的解决方案是在更改输入值后触发更改事件。 .val("").trigger("change")。无论如何,这是一种很好的做法,因为其他脚本也不会注意到更改。

    【讨论】:

      【解决方案2】:

      这边?

      AutoForm.resetForm(formId)
      

      【讨论】:

      • 谢谢。我使用的是 0.8.1.1,autoform 文档说“没有 AutoForm 实例。”。我试过你的建议,但没有成功。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2016-01-03
      相关资源
      最近更新 更多