我有以下带有angularJs的html:
<input id="subjectCode"
name="subjectCode"
class="form-control input-md"
required
type="text"
ng-model="subjectCode"
ng-minlength="3"
ng-pattern="/^[A-Z0-9]+$/i">
上面的代码验证了文本输入与最少3个字符的关系,这些字符应该是A-Z大写字母或数字0-9。这被验证为显示错误并设置css以突出显示不匹配,如下所示:
<div class="form-group"
ng-class="{ 'has-error':
myform.subjectCode.$invalid
&& fahrasform.subjectCode.$dirty,
'has-success':
!myform.subjectCode.$invalid
&& fahrasform.subjectCode.$dirty }">
问题是如果我使用小写字母而对其他情况(例如输入国际字母或特殊字符)将其设置为false,则angularjs不会将$ invalid设置为true。
那么,有什么建议吗?
答案 0 :(得分:0)
替换为此代码:
<input id="subjectCode"
name="subjectCode"
class="form-control input-md"
required
type="text"
ng-model="subjectCode"
ng-minlength="3"
ng-pattern="/^[A-Z0-9]*$/">
此正则表达式ng-pattern="/^[A-Z0-9]+$/i"
中的 /i
执行不区分大小写的匹配。这是您犯了错误