0

angular ui-utils、特に ui-validate に問題があります。ユーザーにパスワード変更フォームを提供し、「新しいパスワード」と「新しいパスワードの確認」を一致させるように要求しようとしています。

<table class="table">
    <form>
    {{!!passwordForm.newPassword2.$error.validator}}
    <tr>
        <th>Current password: </th>
        <td><input type="text" name="currentPassword" ng-model="passwordForm.currentPassword"></td>
    </tr>
    <tr>
        <th>New password: </th>
        <td><input type="password" name="newPassword" ng-model="passwordForm.newPassword"></td>
    </tr>
    <tr>
        <th>Confirm new password:</th>
        <td><input type="password" name="newPassword2" ng-model="passwordForm.newPassword2" ui-validate=" '$value==passwordForm.newPassword' " ui-validate-watch=" 'passwordForm.newPassword' "></td>
    </tr>
    <tr>
        <td/>
        <td>
            <button type="button" ng-click="sendChangePassword()" ng-disabled="passwordForm.newPassword2.$error.validator" class="btn btn-primary">Save</button>
        </td>
    </tr>
    </form>
</table>

そして私のコントローラーには私が持っている

$scope.passwordForm = {
    currentPassword: "",
    newPassword: "",
    newPassword2: ""
};

問題は、一致するかどうかに関係なくnewPasswordnewPassword2保存ボタンが有効なままになり、{{!!passwordForm.newPassword2.$error.validator}}false と評価されることです。

すでにいくつかのスタックオーバーフロー スレッドやその他のソースを確認しましたが、自分のコードの何が問題なのかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1