发表于: 2017-01-22 22:03:11
1 1263
一、今天完成的事情:
1.看了angularjs的表单验证章节并且写了几个小demo
二、明天要做的事情:
1.彻底完成表单验证
三、遇到的问题:
1.表单验证并没有想象中的那么简单,特别是你想写自己关于表单验证的属性的情况下,更是必须要把表单验证的各个流程都搞清楚,他是怎么一步步来验
证用户输入的数据的,简单的说:用户在输入的时候,就会调用controller中的$setViewValue()方法,然后$parsers数组中的函数(我的理解,这个里面
包含的就是所有的我们的验证规则)就会以流水线的形式来执行,而且他最后的执行结果还会传递给下一个函数继续执行,它们最后的值可以通过
$setValidity来进行规则检查。
2.其实在我们的规则中,还可以用$formatters来进行数据的现实过滤,这个事情应该是发生在$parsers之后,但是具体怎么过滤我还需要研究一下,而且
这个东西的必要性也有待考究。
3.还有就是表单验证的几个基础属性,不用强行背下来,用着用着就熟悉了:
$pristine(原始的)这个表示有没有被修改过,没修改过是true
$dirty(脏的)这个跟上面一样,但是修改过就是true
$valid(有效的)表示有通过检查,通过了是true
$invalid(无效的)表示没有通过检查,没有公国是true
$erro(错误的)可以通过这个属性访问表单是否合法,失败为true
并且以上除了erro之外,其他在前面加上ng-都能再验证他们的时候加上特定的css样式,举个例子 input.ng-pristine{color:red;}很酷炫!
表单验证比想象中的麻烦,今天走走停停研究了小一天,明天要把这个做完才行,有点堕怠了
评论