我有一个包含许多不同输入字段的表单(其中一些不是真正的输入,但表现为输入)。
当从常规按钮提交from时,单击每个字段将通过角度验证和html验证 - 例如required,ng-maxlength,minlength等。
现在我们要添加一个快捷方式,以便在键盘上单击提交表单。该代码从html后面的控制器运行。如何从那里检查表格的有效性?我知道我可以通过document.forms["myForm"]
获取表单,但是我能否以某种方式使用它来检查有效性。$ valid是否在html中工作?我能以某种方式在html上显示错误消息吗?
我试图为此添加jQuery验证插件,但似乎改变整个验证机制的工作太多了
答案 0 :(得分:1)
请不要使用document.forms["myForm"]
"获取表单。
在控制器中使用DOM操作是不好的做法。
您可以使用$scope.myForm
访问表单。但要注意它将异步初始化。
但是,当您想要在键盘点击后访问表单时,这不应该是一个问题。
当您使用$scope.myForm
访问表单时,您可以迭代抛出$$controls
。在这个对象中都是表单字段。
例如,您可以这样做:
angular.forEach($scope.myForm.$$controls, function(value, key) {
value.$setDirty();
value.$setTouched();
});
当你使用angular don时,还有一个提醒,请尝试使用JQuery。如果你想使用插件搜索角度插件