AngularJsを使用して、入力フィールドの値を$scope.newPassword
に保存しようとしていますが、少なくとも6文字を入力した後にのみ機能します。それはデフォルトの動作ですか、それともそれを処理する方法がありますか?以上の6つの文字がある場合を除き必要な入力フィールドでパターンが一致するまで値を取得できません
<input type="password" class="form-control" id="new-password" ng-model="newPassword" name="new-password" required pattern=".{6,}">
JS
app.controller('validationController', function($scope) {
$scope.noMatch = false;
$scope.newPassword="";
$scope.confirmNewPassword="";
$scope.passMatchTest = function(){
if($scope.newPassword!=$scope.confirmNewPassword){
$scope.noMatch = true;
$("#new-password, #confirm-new-password").css("background-color", "#f0b9b9");
}else{
$scope.noMatch = false;
$("#new-password, #confirm-new-password").css("background-color", "#aff3af");
}
};
$scope.$watch("newPassword", function(){
console.log($scope.newPassword);
$scope.passMatchTest();
});
$scope.$watch("confirmNewPassword", function(){
console.log($scope.confirmNewPassword);
$scope.passMatchTest();
});
});
console.log
が未定義示し
HTML:
はここにいくつかのコードです。
条件を必要としない場合は、remove pattern = "。{6、}"をマークアップ –