私はこのコードを持っています:
<form name="test">
<input type="text" ng-model="code" name="code" ng-pattern="/^code_[0-9]+$/"/>
<div ng-show="test.code.$dirty && test.code.$invalid">
Error:
<span ng-show="test.code.$error.pattern">Pattern fail.</span>
</div>
</form>
このコードには 2 つの問題があります。
「 code_232 」、「 code_232 」 「 code_232 」などの文字列は検証に合格します。私は正規表現の専門家ではないので、これは単に私が書いた正規表現に関連する問題かもしれません:
/^code_[0-9]+$/
「code_23892」(正しい文字列) を書き始めると、まだ書き込んでいる間にエラー メッセージが表示されます (
test.code.$error.pattern = true
)。これを回避する組み込みの方法はありますか?したがって、私の望ましい動作は次のとおりです。
「cod」と書き、入力にまだフォーカスがある場合: エラーなし
「cod」と書いて入力がフォーカスを失った場合:エラー。
「a」、「ca」、「coa」などと書くと、エラーになります。これは、パターンが既に違反されているためです。
これはすでに可能ですか、それともこれを達成するためにカスタム検証ディレクティブを作成しましたか?
前もって感謝します。