0

そのため、検証チェック用の最初の角度ディレクティブを作成しようとしています。基本的に、ユーザー名が一意であることを確認したいと思います。 この回答は私の最初のパスに最適であり、新しいユーザーの作成に期待どおりに機能します。

ユーザー名を変更したいユーザーにもこれが機能することを望みます。サーバー側では、現在のユーザー以外のユーザーのユーザー名がデータベースに存在しないことを確認するコードを記述します。つまり、ユーザーがプロファイルを変更していて、フォームにユーザー名を含むフィールドのグループがある場合、ユーザー名が既に存在する場合にフォームを無効にしたくありません。存在する理由は現在のユーザーはすでにそれを持っています。

したがって、ユーザー名に加えて、ajax 呼び出しのパラメーターとして userId (整数の PK) を渡したいと思います。userId は $scope に存在しますが、ディレクティブを変更して追加情報を渡す方法がわかりません。

マークアップは次のようになると思いますか?

    <input type="email" ng-model="userEmail" 
           name="userEmail" required unique-email="userId"/>
4

1 に答える 1

1

uniqueEmail ディレクティブは新しいスコープを作成しないため、示されているようにプロパティの名前を渡し ( unique-email="userId")、リンク関数で$evalを使用できます。

var userId = scope.$eval(attrs.uniqueEmail);

リンク関数のパラメーターには名前が付けられていると想定していることに注意してくださいattrs( ではありませんattr)。

于 2013-07-26T16:54:44.883 に答える