特定值的角度形式验证

时间:2015-02-20 22:44:02

标签: angularjs

我有一个需要验证特定名字的表单。

<input type="text" ng-model="info.first_name" ng-pattern="/\bJane\b/">

问题在于名字&#34;简&#34;需要在控制器中设置。

是否可以使用ng-pattern动态设置它?

plunkr

2 个答案:

答案 0 :(得分:0)

您可以看到我自己制作的完整版plunkr,但相关位改编自https://stackoverflow.com/a/18984874/13468

$scope.getPattern = (function() {
    var regexp = function() {return new RegExp('\\b'+ $scope.second_name +'\\b')};
    return {
      test: function (value) {
        return regexp().test(value);
      }
    }
  })();

我为内部regexp使用了一个函数,因为我想等到实际测试模式后才能将$scope.second_name的值包含在RegExp中。

答案 1 :(得分:0)

您可以将正则表达式定义为范围变量:

 $scope.pattern = new RegExp('\\b' + $scope.second_name + '\\b');

 <input type="text" ng-model="first_name" ng-pattern="pattern" required>  

http://plnkr.co/edit/fsAILhdutlSf3ztcgZDA