Heim  >  Artikel  >  php教程  >  ThinkPHP 使用 callback 自动验证字段唯一

ThinkPHP 使用 callback 自动验证字段唯一

PHP中文网
PHP中文网Original
2016-05-25 16:59:121356Durchsuche

跳至

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');
    }

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn