【发布时间】:2015-08-01 05:09:32
【问题描述】:
我们的网站在不同的页面/路线上有多个 AutoForms。如果用户在特定表单上触发验证并触发一些验证错误,然后使用该表单离开页面,当他们稍后返回该页面时,他们输入的数据已经消失,但任何验证错误仍然存在(字段突出显示并且显示验证错误消息)。
当用户离开表单页面时,我们如何重置表单验证?
我知道我们可以使用AutoForm.resetForm('our-form-id') 进行重置,这在控制台中有效,但我找不到合适的挂钩来挂起它。页面的onStop IronRouter 钩子似乎是正确的位置,但这会触发错误Can't call Tracker.flush while flushing. 如果我将它包装在具有超时 0 的setTimeout 中,所以它直到下一个滴答声才会运行,它没有效果(大概模板在那个时候被破坏了)。
我认为当模板被销毁时,错误状态也会是,但事实并非如此。即使活动模板不再存在,是否有一种未记录的方式来“硬”重置错误?
我们正在使用 AutoForm 4.2.2。
【问题讨论】: