我要求在单行文本字段中具有以下条件:
鉴于以下代码,我如何验证这些条件?
<input
type="text"
maxlength="3"
ng-model="name"
ng-change="name = name.toUpperCase();"
/>
答案 0 :(得分:2)
您可以使用ngPattern
属性强制使用正确的模式。
您无法使用ngChange
自动将用户输入的小写字母转换为大写,因为如果输入无效,模型为undefined
,但您可以使用{{3相反。
<input
type="text"
ng-model="name"
ng-pattern="'[A-Z][A-Z0-9]{2}'"
/>
如果您使用的是$parsers
版本,请改用模式^[A-Z][A-Z0-9]{2}$
。
如果您使用的是between 1.3.0-beta.12 and 1.3.2版本,请改用模式/^[A-Z][A-Z0-9]{2}$/
。
答案 1 :(得分:0)
您可以使用ng-pattern设置正则表达式和
<input type="text" ng-model="name"
ng-pattern="'^[A-Z][A-Z\d]{2}'"
ng-change="name = name.toUppercase()" />
在这里,您可以测试或创建正则表达式Fiddle