我有一个 AngularJS 应用程序。为什么模式 /^[a-zA-Z0-9]+$/
匹配空字符串?
<form name="addTeamForm" novalidate ng-init="team=''">
<input type="text" name="team" ng-model="team" ng-pattern="/^[a-zA-Z0-9]+$/"/>
</form>
{{ addTeamForm.team.$valid }}
为什么$valid
的值为true
?
最佳答案
您还需要使用required
或ngRequired
:
<input type="text" name="team" ng-model="team"
ng-pattern="/^[a-zA-Z0-9]+$/" required />
方式ngPattern
工作是检查非空字符串以匹配模式。如果字符串为空,则不会对其进行检查,也不会出现验证错误。通过指定required
除了 ngPattern 之外,您还将空字符串设置为无效值。
更新的 fiddle :http://jsfiddle.net/vittore/fdsqzf12/6/
关于javascript - 使用 AngularJS 匹配一个或多个字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308702/