强制Meteor Autoform在以编程方式更改输入值时重新验证

时间:2014-05-07 09:11:15

标签: forms validation meteor

我正在使用Meteor Autoform。

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

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

当用户从<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. 仍显示错误消息
  5. 问题

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这样吗?

AutoForm.resetForm(formId)