以下のテキスト フィールドでは、検証に ng-pattern を使用し、ng-message を使用してメッセージを表示しています。検証は正規表現 (/^\d+$/ または /^[0-9]+$/) の両方で正常に機能しますが、何らかの理由で正規表現 (/^\d+$/) は数値入力に対しても false を返しますテンプレートキャッシングと一緒に使用している間。これら2つのアプローチの間の問題を理解できませんでした。以下の templateCaching 出力を見つけてください。どんな助けでも大歓迎です。
input type="text" ng-model="appId" name="appId" class="new-app" ng-pattern="/^\d+$/" placeholder="アプリケーション ID を入力してください" 必須
メッセージ :
div ng-message="パターン" クラス="エラーメッセージ"
templateCaching で動作しない:
input type="text" ng-model="appId" name="appId" class="new-app" ng-pattern="/^\d+$/" placeholder="アプリケーション ID を入力してください" 必須
templateCaching と別のビュー ファイルの両方を使用する:
input type="text" ng-model="appId" name="appId" class="new-app" ng-pattern="/^[0-9]+$/" placeholder="アプリケーション ID を入力してください" 必須
$templateCache.put('/views/layouts/test.html', '<input type="text" ng-model="appId" name="appId" class="new-app" ng-pattern="/^ [0-9]+$/" placeholder="アプリケーション ID を入力してください" 必須> <input type="text" ng-model="appId" name="appId" class="new-app" ng-pattern=" /^\d+$/" placeholder="アプリケーション ID を入力してください" 必須>');