1

ng-list と組み合わせて、ng-pattern で検証された電子メールのリストを含むテキストエリアを作成しようとしています。

さまざまなテスターで正規表現をテストしましたが、正しく動作しているように見えますが、アプリケーションでは動作しません。問題が正規表現なのか、それとも ng-pattern と ng-list 間の干渉なのかはわかりません。

リスト用に受け取っている JSON データは、配列形式になっています。

$scope.mainList.EmailAddresses = ["user@emailaddress.com", "user2@altemail.net"];

私のHTMLコード:

<textarea class="text-list-area" ng-model="mainList.EmailAddresses" ng-pattern="/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}))\n?)*$/" ng-list="&#10;" ng-trim="false"></textarea>

テキストエリアは、次のように各メールを改行で区切ります。

user@emailaddress.com
user2@altemail.net

プランカーでの私の問題の例 (作成してくれたBeaverに感謝): http://plnkr.co/edit/T17TTd5otnWWXOp2gZ94?p=preview

4

1 に答える 1

1

この jsFiddle は役に立ちますか?

https://jsfiddle.net/beaver71/cggLyL09/27/

次のような検証エラーに関するフィードバックをコードに追加しました。

<span ng-show="myForm.email_field.$error.pattern">Not a valid email!</span>

そして、より効果的なプランカー:

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

この例では、ngPattern のないテキストエリアがうまく機能しています (メールの追加/削除)。したがって、問題はおそらく正規表現にあります...

于 2015-12-10T15:02:59.213 に答える