3

現在、Angularjs で動的フォームを作成しようとしています。テスト目的で、フォームには ng-repeat ディレクティブを介して動的に追加される 3 つのフィールドがあります。

これがJSFiddleです:http://jsfiddle.net/charms/4E7zQ/3/

質問:

現在、検証ディレクティブを動的に設定しようとしています。私は以下を達成したいと思います:

<input ng-model="item.value" name="{{item.name}}" type="{{item.type}}" placeholder="{{item.placeholder}}" {{item.validators}}/>

{{item.validators}}ただし、機能しません。動的フィールドの作成中に基本バリデーターとカスタムバリデーターを追加および削除する方法を知っている人はいますか?

動的に追加されたフォーム フィールドにさまざまなバリデーターを追加し、フィールドが削除された場合はバリデーターも削除したいと思います。

<input ng-model="user.email" name="email" type="email" placeholder="E-Mail" required email-available/>
<input ng-model="user.firstName" name="firstName" type="email" placeholder="Firstname" required/>
<input ng-model="user.lastName" name="lastName" type="email" placeholder="Lastname" required"/>

これはAngularjsで可能ですか?

たとえば、フィールドと検証は、ユーザーがクリックしているラジオ ボタンに応じて変更する必要があります。フィールドを削除して、さまざまな検証ディレクティブを動的に追加して再度追加することで、これを実現したいと考えています。

「追加」ボタンをクリックすると、JSFiddle でわかるように、3 つのフィールドが「必須」ディレクティブで作成されます。1 つのフォーム フィールドが削除されると (削除ボタンをクリックして実行されます)、検証も削除されます。

ここで、たとえば email-available などの異なる検証ディレクティブを持つ別のフィールド、または作成されるフィールドごとに異なる複数の検証ディレクティブを追加したいと思います。

誰かがそれに対する解決策を持っているなら、それは素晴らしいことです。

4

1 に答える 1