繁体   English   中英

angularjs登录页面密码错误信息

[英]Password wrong message in a login page in angularjs

在管理门户的登录页面中,我想在输入的密码错误时显示相应的错误消息。 我在AngularJS开发了这个页面,AngularJS有谁做过,请帮帮我。

HTML 登录页面

    <div class="wrapper">
  <form class="form-signin">       
  <div class="form-signin-heading">
    <img src="Images/wellness-India-logo_0.png">
  </div>
  <input type="email" class="form-control" ng-model="user.emailid"   name="username" placeholder="Email Address" required="" autofocus="" />
  <input type="password" class="form-control" ng-model="user.password" name="password" placeholder="Password" required=""/>      
  <label class="checkbox">
   <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me
  </label>
  <button id="login" class="btn btn-lg btn-primary btn-block" type="submit" ng-click="login()">Login</button>  
  <button id="clear" class="btn btn-lg btn-primary btn-block" type="reset">Clear</button> 
  </form>
</div>

登录脚本 function

   $rootScope.login = function () {
    $("#blockUi").modal("show");
    $http({
        method: 'GET',
        url: $rootScope.baseUri + "/adminLogin",
        params: {
            email: $rootScope.user.emailid,
            password: $rootScope.user.password
        }
    }).success(function (data, status, headers, config) {
        if (!data.found) {
            $("#blockUi").modal("hide");
        } else {
            $rootScope.fromLogin = true;
            $state.go('dashboard');
            $("#blockUi").modal("hide");
        }
    }).error(function (data, status, headers, config) {
    });       
}

嘿,这是登录页面验证的完整教程,请访问https://scotch.io/tutorials/angularjs-form-validation-with-ngmessages

至于表单错误 go,您应该查看 ng-messages: https://scotch.io/tutorials/angularjs-form-validation-with-ngmessages

例子:

    <input class="form-control input-lg" type="password" id="pw" name="pw" ng-model="user.pw" placeholder="Password" ng-minlength="8" required>
    <div ng-if="signupForm.pw.$dirty" ng-messages="signupForm.email.$error">
      <div ng-message="required">Your pw address is required.</div>
      <div ng-message="minlength">Your pw must be at least 8 characters.</div>
    </div>

另一方面,如果你的意思是如何处理从服务器发送到 angular 的“密码错误”错误,我建议使用 toastr。

它简单且可定制。 你只需要 bower 安装它,然后注入它: https://github.com/Foxandxss/angular-toastr

在您的 js 中,您会检查错误。 也许在 promise 之后的 a.catch() 中,或者有条件地在响应对象中发送错误消息:

  $rootScope.login = function () {
    $("#blockUi").modal("show");
    $http({
        method: 'GET',
        url: $rootScope.baseUri + "/adminLogin",
        params: {
            email: $rootScope.user.emailid,
            password: $rootScope.user.password
        }
    }).success(function (data, status, headers, config) {
        if (!data.found) {
            $("#blockUi").modal("hide");
        } else {
            $rootScope.fromLogin = true;
            $state.go('dashboard');
            $("#blockUi").modal("hide");
        }
    }).error(function (data, status, headers, config) {

       //handle error logic here: 

      //using toastr: 
       toastr.error(data);

      //traditional alert window MAKE SURE to inject "$window" into your controller
       $window.alert(data);
    });       
}

您可能希望首先使用 console.log('data', data) 来查看您希望在警报 window 中显示的字符串的确切位置。它可能在 data.message 等中。

此外,您可能会因为使用 $rootscope 而受到指责(被认为是不好的做法)。

较新版本的 angular 不使用 .success /.error,仅使用 then() 和 a.catch 来处理错误。

同名从。 您可以根据响应设置ng-invalid

$scope.user.pw.$setValidity("pw", false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM