AngularJS:是否可以使控制器中的特定表单输入字段无效?

Gal*_*aim 25 angularjs

我有一个地址的文本输入字段,每当输入地址并单击输入字段旁边的搜索按钮时,我对地址进行地理编码并将输入文本替换为地理编码器的结果.我还设置了范围变量'addressOk'.

是否可以根据这个特定的表单输入字段无效,$scope.addressOk或者我是否必须为此地址地理编码输入编写指令,以便在需要时使表单无效?

Gal*_*aim 39

我找到了解决方案,在<form>和中添加了一个name属性<input>,然后在控制器中可以做到$scope.formName.inputName.$setValidity(errorKey, isValid).

然后,它可以用类似的东西显示错误 ng-show="formName.inputName.$error.errorkey"

根据http://docs.angularjs.org/api/ng.directive:form如果指定了name属性,则表单控制器将以此名称发布到当前作用域.

  • @lightalex只使用对象表示法;)`$ scope.formName [inputName].$ setValidity(...)` (3认同)