这个视频我们再看一些表单元素的验证规则 ... 如果一个元素是必填项,可以在这个元素上面,添加一个 required 属性 ... 或者你也可以使用 ng-required ... 在这个 email 字段上面,加上一个 required ..
限制一个字段的最小的长度,可以使用 minlength 属性 ... 比如我们要求 email 这个字段,至少得是 5 个字符 ... 把 minlength 的值,设置成 5 ... 也可以把这个 minlength 换成 angular 特有的 ng-minlength ..
限制字段的最大的长度,用的是 maxlength ... 我们让这个 email 字段的最大长度是 50 个字符 ... 把这个属性的值设置成 50 ...
保存 ... 回到浏览器 ... 先查看一下这个 email 字段 .. 你会发现,在这个元素上面,会有一些 css 类 ... ng-invalid-required ... 之所以有这个 class ,是因为 email 是一个必填的字段,我们还没有在这个字段上输入内容,这样 required 这个规则验证无效,也就会在这个字段的元素上面添加一个 ng-invalid-required ... 如果验证通过的话,augular 会把这个类换成 ng-valid-required ...
再看一下这个 $error 属性,现在是 required ... 意思是必填这个规则在某个字段上验证失败了 .. 我们在这个字段上面输入点内容 ... 这样错误里面就不会再有 required 了 ... 现在的错误是 email ,因为我们输入的内容不是一个有效的 email 地址 ...
后面加上一个 @ ... 现在是有效的 email 地址,不过现在又不满足 minlength 这个规则,因为字符数还没有达到最少的要求,也就是 5 个字符 ... 再换一个长一点的有效的 email 地址 ...
现在,$error 里面就没有东西了。因为表单里的所有的元素通过了所有的验证规则。
这里有个地方要注意一下,就是 maxlength 这个规则,因为我们用的是标准的 html 属性,所以这个字段不会让我们输入超过这个属性值的字符 .. 如果你打算让 $error 里面出现 maxlength 的错误,你可以在字段上面,使用 ng-maxlength 这个属性来设置最大可以输入的字符。这样如果用户输入的字符超过了这个属性设置的最大的字符,在这个 $error 上面,就会出现 maxlength ...