繁体   English   中英

Angular JS - 当textfield失去焦点时显示验证错误

[英]Angular JS - Display validation errors when textfield lose focus

当用户离开该字段时,我想在输入字段上执行验证。

My.html

   <div ng-form="form"  novalidate>
       <input type="email" name="userEmail" class="form-control username" 
ng-model="login.username" placeholder="Email" required />
     <input type="password" name="password" class="form-control password" placeholder="Password" ng-model="login.password" required />
   <div class="invalid-message" ng-show="form.userEmail.$dirty && form.userEmail.$invalid">
    <span class="invalid-mail" ng-show="form.userEmail.$error.required">Invalid:Tell us
                            your email.</span> 
<span class="invalid-mail" ng-show="form.userEmail.$error.email">Invalid:This is not a valid email.</span>
     </div>
  </div>

我想显示无效消息div和span,对应于email字段中的错误。 现在代码工作正常。

但我的要求是在用户输入电子邮件时显示无效消息div和span。如何执行此操作您的评论是受欢迎的

请在这里找到小提琴验证演示小提琴

您可以通过设置一个临时变量来指明用户是否已离开该字段来完成此操作。 最好的地方是在ng-blur指令中(所以,你可以在视图中保留所有这些)。

这是一个更新的小提琴。

<form name="form"  novalidate>
    <input type="email" ng-blur="visitedEmail = true" name="userEmail" class="form-control username" ng-model="username" placeholder="Email" required />
    <input type="password" ng-blur="visitedPassword = true" name="password" class="form-control password" placeholder="Password" ng-model="password" required />
    <div ng-show="form.userEmail.$dirty && form.userEmail.$invalid && visitedEmail">
       <span ng-show="form.userEmail.$error.required">Invalid:Tell us  your email.</span> 
    <span  ng-show="form.userEmail.$error.email">Invalid:This is not a valid email.</span>
    </div>
</form>

您可以看到在ng-blur上设置的EmailVisited的介绍。

尝试使用form.userEmail。$ touch

暂无
暂无

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

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