0

我的应用程序有一个左侧导航,每个链接旁边显示的符号表明该页面的表单是否有效。当用户从一个页面点击到另一个页面时,Angular 会验证表单并显示正确的符号。我现在需要在用户进入应用程序时立即显示验证符号,而不是要求用户访问每个页面以查看其是否有效。有没有办法手动触发每个表单进行验证,同时仍然使用 Angular 的内置表单验证?我的一个想法是以编程方式导航到每个页面以初始化和验证每个表单。到目前为止,使用 AngularUI 路由器的 $state.go 对我来说还没有用,但我会更多地使用它。还有其他想法吗?谢谢!

4

1 回答 1

0

我最初的解决方案是将所有表单的 HTML 注入父视图并隐藏它们,以便在应用加载时它们位于 DOM 中并立即得到验证。这可行,但在验证从有效到无效闪烁时存在一些问题,并且由于 DOM 较大而影响了性能。

我找到的更好的解决方案是废弃内置的 Angular 验证并创建我自己的验证函数。在初始应用程序加载时在我的控制器中调用验证函数,并且还从指令中调用验证函数,以便在用户更改输入时更新字段的有效性。一旦我确信我没有通过使用 Angular 的内置验证获得太多收益,这个解决方案就很容易实现。

于 2015-02-07T15:00:51.840 回答