Angular ng-pattern - 不是电子邮件地址

时间:2017-04-26 21:00:39

标签: angularjs validation

我试图验证用户名字段中的用户输入是不是使用带有Angular的ng-pattern的电子邮件地址格式。以下代码似乎产生了我想要的结果,但是页面加载时会显示错误消息,直到用户开始输入。除非用户输入与电子邮件地址正则表达式匹配,否则错误消失。如何在页面加载时隐藏该消息,并仅在匹配的正则表达式时显示该消息?感谢。

<div ng-show="!form.UserName.$error.pattern" class="errorMessage">
    Username is not your email address
</div>    

<div class=" form-group">
    <label class="form-label" for="userName">Username</label>
    <input class="form-control" ng-pattern="/^([a-zA-Z0-9])+([a-zA-Z0-9._%+-])+@([a-zA-Z0-9_.-])+\.(([a-zA-Z]){2,6})$/" />
</div>

1 个答案:

答案 0 :(得分:1)

尝试检查输入是否被触及&#34;

<div ng-show="form.UserName.$error.pattern && form.UserName.$touched" class="errorMessage">
    Username is not your email address
</div>