問題タブ [ng-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2219 参照

angularjs - ng-pattern は変更されていますが、情報を示すフォームは有効です

したがって、現在のコードは次のようになります。

フォームの入力を変更すると、正規表現が変更されます。問題は、以前は有効だったデータ (新しい RegEx では有効ではないはず) がまだ有効であることです。ユーザーがフィールドを再びぼかすのを待つのではなく、フォームにこのフィールドに正規表現を再度適用させるにはどうすればよいですか?

0 投票する
1 に答える
2927 参照

javascript - ng-pattern は条件を保持できますか?

以下の行の正しいアプローチは何ですか?

私の問題は、ng-pattern必要のないときにフィールドを非表示にしていますが、それでもフォームを有効にできないことです。

フィールドを無効にしようとしましたが、うまくいきませんでした。

コードは次のとおりです。

0 投票する
1 に答える
16238 参照

angularjs - angularJS ng-patternが機能しない

見てくださいプランカー。

http://plnkr.co/edit/DuTFYbLVbPkCIvRznYjG?p=preview

ここで、ng-pattern regEx は入力テキスト フィールドに適用されません。

必要な検証のみが適切に適用されている場合。

HTML:

JS:

なにか提案を ??

-ありがとう

0 投票する
1 に答える
934 参照

ng-pattern - AngularJS ng パターンの動作

特定の形式 (たとえば、IP v4 アドレス) を強制するng -patternがあります。

データは DB から取得されますが、要件が進化し、IPv6を保存する必要があるとしましょう。正規表現を変更することを期待していましたが、入力の内容が削除されました! このプランカーを確認してください (コンテンツの損失効果を確認できる場所): http://plnkr.co/edit/UPrU35

これは、入力を必須に切り替えるのと同じようなもので、単にユーザーが新しいルールに準拠する必要があるだけです。

質問:

ng-pattern を適用しながら ng-model バインディングを維持するにはどうすればよいですか? (フォーム入力を無効にしたいが、以前のコンテンツを失うという犠牲を払ってはならない)

0 投票する
4 に答える
11894 参照

javascript - 日付のAngular ng-patternがIE9で機能しない

ビューで ng-pattern を使用して、以下の日付 (mm/dd/yyyy) 検証パターンを使用しようとしています。

日付の入力を開始するとすぐに検証エラーが表示され、1988 年 10 月 15 日などの有効な日付を入力した後もそのままになります。

(以下に示すように)varを使用してコントローラーに渡そうとしましたが、同じように動作します:

コントローラーで:

ビューで:

注: この両方のアプローチは、IE9 でのみ機能しません。

0 投票する
2 に答える
3018 参照

angularjs - angularjs で undefined を与える $scope.var

angularjsを使用して、英数字のみの入力が必要なテキストボックスでクライアント側の検証を行っています。テキストボックスが空のままであるか、英数字以外の文字が入力されている場合、submitform は必要な 'false' を JS に送信しますが、問題は、英数字以外の文字自体 (スコープ内) を渡さないことです。

JSP ファイル:

JS ファイル:

jsp の入力ボックス 'address' に英数字を入力すると、JS でのアラートでundefinedが返されます(おそらく、文字が非英数字であることをフィルタリングするパターンが原因です)。ng-pattern を削除すると、すべての入力が「期待どおり」であるかのように、submitForm が「true」を渡します。$scope.address にアクセスしたい理由は、「空」と「英数字以外」の検証で異なるエラー メッセージをチェックして評価し、表示するためです。

どんな助けでも大歓迎です!

0 投票する
1 に答える
618 参照

javascript - ngPattern で使用される正規表現を変更するときにすぐに再検証する方法

現在有効な ngPattern によって検証されたテキストボックスがあるとします。正規表現をテキストボックスの値と一致しないものに変更しました。Angular は、テキスト ボックスが無効になったことをすぐには認識しません。新しい正規表現に対する検証を行うには、ユーザーが変更 (別の文字を入力するなど) を行う必要があります。

回避策は、正規表現が変更されるたびに $viewValue をそれ自体に設定して、解析パイプラインを強制的に実行することです。次に例を示します。

意見

コントローラ

ただし、これは大きなハックのように思えます。カスタム ディレクティブに頼らずにこれを行うためのより良い方法があることを願っています。

フィドル: http://jsfiddle.net/5jm2V/2/