目前,当用户根据ng-show
中定义的正则表达式输入无效字符时,我已设置ng-pattern
。它看起来像这样:
<form name = "itemForm">
<div class="input-group">
<textarea name = "listItemsArea" cols="50" rows="2" class="form-control" ng-model="summaryTabModel.itemList" ng-pattern="/^[0-9,\b\s]+$/"></textarea>
</div>
<span ng-show="itemForm.listItemsArea.$error.pattern">Input not valid!</span>
</form>
是否可以处理控制器内部ng-pattern
的错误?如果是这样我还有什么要传递给它?例如,我可以参考模式错误,如:
$scope.$error.pattern
由于
答案 0 :(得分:1)
我知道一种方式,但我不认为这是惯用的。
function formCtrl($scope, $log) {
$scope.$watch("itemForm.listItemsArea.$error.pattern", function(newval, oldval) {
$log.error("Whoops", newval, oldval);
});
}
答案 1 :(得分:0)
请参阅此处http://jsbin.com/lalom/1/
var app = angular.module('app', []);
app.controller('firstCtrl', function($scope){
$scope.$watch('itemForm.listItemsArea.$error.pattern' , function(value){
$scope.isError = value;
}
);
});