在过去的几个版本中,我一直在使用带有 AngularJS 的 Regex 模式验证,并且效果很好。
我的应用程序要求验证模式由范围属性公开,相应的 AngularJS 验证指令绑定到该范围属性。在 v1.3 之前,它看起来像这样:
// On the controller
$scope.validationPattern = "^\\d*$"; // Allow only numeric digits
<!-- in the HTML page --->
<input type="text" name="age" ng-pattern="/{{validationPattern}}/" />
现在将 AngularJS 更新到 v1.4(绕过 v1.3),我发现上述方法不再有效。查看 v1.3的迁移说明,我发现这是预期行为,需要一种新方法,如下所示:
// On the controller
$scope.validationRegexp = /^\d*$/; // Use a RegExp instead of a string
<!-- in the HTML page --->
<input type="text" name="age" pattern="{{validationRegexp}}" />
但是,我根本无法让它工作。如果我将验证模式内联(在 HTML 输入元素内)它工作正常,但是当移动到范围对象并绑定到pattern
orng-pattern
指令时,不会发生验证。
请问有什么建议吗?