处理控制器内的ng-pattern行为

时间:2014-07-03 15:03:04

标签: javascript angularjs

目前,当用户根据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

由于

2 个答案:

答案 0 :(得分:1)

我知道一种方式,但我不认为这是惯用的。

Check it...

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;

}
              );

});