2017-08-29 121 views
-1

我有一个表单有许多不同的输入字段(其中一些没有真正的输入,但表现为输入)。验证一个从提交外部提交时提交

当从常规按钮点击每个字段提交通过的角度验证和HTML验证 - 如需要,NG-最大长度,使用MINLENGTH等。

现在,我们要添加一个快捷方式提交在键盘上单击形成。该代码从HTML后面的控制器运行。我如何从那里检查表单的有效性?我知道我可以通过document.forms["myForm"]获得表格,但我可以用它来检查与。相同的有效性。$ valid在html中工作吗?我能以某种方式在html上显示错误消息吗?

我尝试添加jQuery验证插件,这一点,但看来似乎是太多的工作,以改变整个验证机制

回答

1

不要document.forms["myForm"]获取表单”。 这是不好的做法,中使用DOM操作一个控制器 您可以使用$scope.myForm来访问表单,但要注意它将被异步初始化 但是,当您想要在键盘单击后访问表单时,这应该不是问题 当您访问与$scope.myForm形式可以迭代抛出$$controls。在这个对象中都是表单域。当您使用的角度不试使用JQuery的一切

angular.forEach($scope.myForm.$$controls, function(value, key) { 
    value.$setDirty(); 
    value.$setTouched(); 
}); 

还有一提醒:例如,你可以不喜欢这样。如果你想使用插件搜索角插件

+0

非常感谢你! –