ThinkPHP批量验证的设计问题 - 全栈笔记

ThinkPHP批量验证的设计问题

任亦伟 PHP 2014-04-07 135 次浏览 没有评论

ThinkPHP批量验证存在设计问题,比如对一个字段多次验证,第一个条件验证失败之后不应该再去验证第二个,严格的条件应该放在$_validate的数组的下面,而返回错误信息却是最严格的验证结果。比如下面这个例子,总不能用户原密码都没有填,就告诉用户原密码输入是错的吧,为了完成目的,我只能写成如下这样,但是这样一来就把原密码和数据库进行比对,无论用户是否输入是否为空,这一个缺陷我觉得可以自己修改一下Model类的autoValidation()方法。

01
02
protected $_validate= array(
03
  array('password','checkCurrentPassword','当前密码输入不正确!',1,'callback'),
04
  array('password1','isPasswordChanged','新密码不能和原密码一致!',1,'callback'),
05
  array('password1','6,16','新密码长度必须为6~16位!',1,'length'),
06
  array('password2','password1','两次密码输入不一致',1,'confirm'),
07
  array('password','require','当前密码不能为空!'),
08
  array('password1','require','新密码不能为空'),
09
);
10

发表评论

回顶部