密码与angularJs不匹配

密码与angularJs不匹配,angularjs,validation,Angularjs,Validation,我似乎不明白为什么ng show在密码不匹配时无法显示此验证。我错过了什么 <form name="myForm"> <div class="form-group"> <input ng-required="true" name="username" ng-minlength="3" ng-maxlength="10" ng-model="model.user.username" type="text" class="form-control"

我似乎不明白为什么ng show在密码不匹配时无法显示此验证。我错过了什么

<form name="myForm">
    <div class="form-group">
      <input ng-required="true" name="username" ng-minlength="3" ng-maxlength="10" ng-model="model.user.username" type="text" class="form-control" id="user-name" placeholder="Username">
      <p class="errorValidationText" ng-show="myForm.username.$invalid && myForm.username.$touched">Please pick a username between 3 - 10 characters.</p>
    </div>

    <div class="form-group">
      <input ng-required="true" name="password" ng-minlength="4" ng-model="model.user.password" type="password" class="form-control" id="password" placeholder="Password">
      <p class="errorValidationText" ng-show="myForm.password.$invalid && myForm.password.$touched">Password should contain atleast 4 characters.</p>
    </div>

    <div class="form-group">
      <input ng-required="true" name="verifyPassword" ng-minlength="4" ng-model="model.user.verifyPassword" type="password" class="form-control" id="verify-password" placeholder="Verify Password">
      <p class="errorValidationText" ng-show="(myForm.verifyPassword.value != '') && (myForm.password.value != myForm.verifypassword.value)">Passwords don't match.</p>
    </div>

 <button ng-disabled="myForm.username.$invalid || myForm.password.$invalid || myForm.verifyPassword" ng-click="model.register(model.user)" class="btn btn-success btn-block">Register</button>

  </form>
谢谢!! 我已经参考了其他解决方案,没有一个现有问题与我正在做的类似。

myForm.verifyPassword.value在您的语句myForm.verifyPassword.value中的大小写不同

我编了一个例子,因为我没有你的代码

var-app=angular.module'myApp',[]; 应用程序控制器'myCtrl',函数$scope{ $scope.myForm={ 密码:, 验证密码: }; $scope.submit=函数{ console.log'success'; }; }; 密码: 验证密码:

密码不匹配

提交
myForm对象没有输入值,您可以通过{{myForm}看到这一点。改用ngModel中的值:

<p ng-show="(user.model.verifyPassword != '') && (user.model.password != user.model.verifyPassword)">Passwords don't match</p>
还要注意,如果您的输入无效,ngModel将不会设置值:user.model.verifyPassword!=将始终为真,因为您将ng minlength设置为4


另一个提示:ng属性只有在计算范围变量时才有意义,ng required=true与required=required相同。

您不能在参数本身内部使用参数的HTML分隔符。请使用简单的引号。@Blackhole是正确的。myForm.verifyPassword.value!=&myForm.password.value!==myForm.verifypassword。value@BlackHole-谢谢!但这仍然不能解决问题。请添加其余的代码,可能有问题there@MarioLamacchia我已经粘贴了剩下的代码谢谢!固定了外壳。但即使在该更改之后,也不会显示。@user1799214我还删除了每个propertyRight末尾的.value,但这样做会使验证在触及字段之前显示出来。页面加载后,标记立即显示。@user1799214在我的示例中,我使用所需的起始值初始化表单,使其有意义!!谢谢: