【发布时间】:2014-07-01 16:49:02
【问题描述】:
我们为特定表单提供自动保存和显式保存(这是一个长表单,我们不希望用户丢失数据)。对于显式保存,无效数据将阻止保存发生,并且不会将 XHR 发送回服务器。但是,对于自动保存,我们希望保存数据(如果可能),而不管前端验证如何。
我们需要做的是,如果在后端保存成功,前端应该将表单标记为不再脏。但是......这是贴纸 - 它应该不从表单中删除任何验证错误/错误消息。
据我所见(或至少据我了解),.$setPristine() 将清除表单,但它也会有问题地消除验证错误。
有没有办法在不删除验证错误的情况下清除表单,以便在已经执行保存时不会运行自动保存,但这样用户仍然可以获得哪些字段无效的反馈,以便他们可以解决问题吗?
谢谢!
【问题讨论】:
-
我建议不要使用
$pristine,因为它已经有意义(与自动保存无关)。您可以创建自己的属性,$pristine可以在某一天用于向用户反馈他们触摸了哪些字段。
标签: javascript forms angularjs validation dirty-data