我有一个地址的文本输入字段,每当输入地址并单击输入字段旁边的搜索按钮时,我对地址进行地理编码并将输入文本替换为地理编码器的结果.我还设置了范围变量'addressOk'.
是否可以根据这个特定的表单输入字段无效,$scope.addressOk或者我是否必须为此地址地理编码输入编写指令,以便在需要时使表单无效?
我需要在开始时将ng-form设置为无效,因为它是向导的后续部分.表单包含带元素的网格.每个元素都有自己的验证,但问题是当没有元素时表单显示为有效.当行数为0时,我需要将它标记为无效的开始情况.如何做到这一点?
我想验证JSON输入.我知道它可以用自定义指令完成,但我不能自己编写它.现在我试图用ng-change来做.
我的HTML:
<div class="row">
<div class="form-group col-xs-12">
<label>Custom data:</label>
<textarea class="form-control" rows="10" name="customData" ng-model="application.customDataString" ng-change="validateJSON()"></textarea>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的剧本
$scope.validateJSON = function () {
try {
JSON.parse($scope.application.customDataString);
} catch (e) {
$scope.applicationForm.customData.$setValidity = false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:无法读取未定义的属性'$ setValidity'