AngularJS-在ng模式的false上运行函数

AngularJS-在ng模式的false上运行函数,angularjs,validation,controller,Angularjs,Validation,Controller,我知道这个问题以前也提过。虽然我认为这个问题略有不同 我有以下代码 <textarea name="Text2" cols="40" rows="2" ng-model="pageModel.storeText" ng-pattern="/^(?:\d+(?:, *|))*\d+$/" class="form-control"></textarea> <span ng-show="itemStoreForm.Text2.$error.pattern">ER

我知道这个问题以前也提过。虽然我认为这个问题略有不同

我有以下代码

<textarea name="Text2" cols="40" rows="2" ng-model="pageModel.storeText" ng-pattern="/^(?:\d+(?:, *|))*\d+$/" class="form-control"></textarea>
<span ng-show="itemStoreForm.Text2.$error.pattern">ERROR</span>

如何调用函数storeError()?

如果可以从控制器访问scope对象,请重试

$scope.$watch('itemStoreForm.Text2.$error', function(error) {
    if (error && error.pattern) {
        $scope.storeError();
    }
});

由于FormController是通过名称发布在
$scope
上的,因此应该可以通过手表功能访问它。

ngSubmit
上如何?ngSubmit是否会根据regex在检测到错误用户输入时运行?否,它将运行一次,当你试图提交表单。我正在寻找一些东西,将验证文本在一个文本区的飞行不幸的是,这只运行在加载的网页,它没有反应的正则表达式。
$scope.$watch('itemStoreForm.Text2.$error', function(error) {
    if (error && error.pattern) {
        $scope.storeError();
    }
});