我有一个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
?
答案 0 :(得分:4)
您还需要使用required
或ngRequired
:
<input type="text" name="team" ng-model="team"
ng-pattern="/^[a-zA-Z0-9]+$/" required />
ngPattern
的工作方式是检查非空字符串以匹配模式。如果字符串为空,则不会进行检查,也不会出现验证错误。除了ngPattern之外,通过指定required
指令,您将使空字符串无效值。