我试图验证用户名字段中的用户输入是不是使用带有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>
答案 0 :(得分:1)
尝试检查输入是否被触及&#34;
<div ng-show="form.UserName.$error.pattern && form.UserName.$touched" class="errorMessage">
Username is not your email address
</div>