ThinkPHP 使用 callback 自动验证字段唯一
ThinkPHP 3.x 之后的版本已经支持更新时自动验证唯一.所以此代码失效, 感谢微博 @小杰_Dino 告知.=====2014-05-12 之前的内容====使用 callback 使add 和 update 使用一个自动验证条件让检查唯一合并
ThinkPHP 3.x 之后的版本已经支持更新时自动验证唯一.
所以此代码失效, 感谢微博 @小杰_Dino 告知.
=====2014-05-12 之前的内容====
使用 callback 使add 和 update 使用一个自动验证条件
让检查唯一合并为一个验证条件.
如果你有更好的, 欢迎一起讨论.
所以此代码失效, 感谢微博 @小杰_Dino 告知.
=====2014-05-12 之前的内容====
使用 callback 使add 和 update 使用一个自动验证条件
让检查唯一合并为一个验证条件.
如果你有更好的, 欢迎一起讨论.
public $_validate = array( array('name', 'chkUniName', '英文代码已经存在.', self::EXISTS_VALIDATE, 'callback'), 放在 CommonModel 中. //检查唯一 public function chkUni($field){ if(empty($field)){ return false; } $map = array(); $pk = $this->getPk(); //如果有主键传入, 说明是编辑, 加入排除自己的条件. if(!empty($_REQUEST[$pk])){ $map[$pk] = array('neq', intval($_REQUEST[$pk])); } $map[$field] = array('eq', trim($_REQUEST[$field])); if(null === $this->where($map)->find()){ return true; }else{ return false; } } //检查 name 是否存在 protected function chkUniName(){ return $this->chkUni('name'); }
- 上一篇:URL抓取工具
- 下一篇:PHP Web Server
精彩图集
精彩文章