過去数バージョンで AngularJS で正規表現パターン検証を使用してきましたが、正常に機能しました。
私のアプリケーションでは、対応する 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
ディレクティブにバインドすると、検証は行われません。
問題を示すJSFiddleを次に示します。
何か提案はありますか?