如何使用Cakephp 3.x添加唯一的手机号码?

时间:2017-09-26 05:37:46

标签: cakephp cakephp-3.0

我知道电子邮件地址,如下所示。所以,建议我使用手机号码。

public function buildRules(RulesChecker $rules)
    {
         $rules->add($rules->isUnique(['email']));
        return $rules;
    }

2 个答案:

答案 0 :(得分:1)

您可以复制一下您检查email地址对相关移动字段唯一的信息。例如,如果您的字段为phone: -

public function buildRules(RulesChecker $rules)
{
    $rules->add($rules->isUnique(['email']));
    $rules->add($rules->isUnique(['phone']));
    return $rules;
}

您可以阅读有关验证official docs中的唯一字段的更多信息。

答案 1 :(得分:-1)

你可以这样做:
1。

$validator
    ->notEmpty('phone',__('Please enter phone.',true))
    ->add('phone',[
        'phoneUniqueCheck'=>[
            'rule'      =>  'phoneUniqueCheck',
            'provider'  =>  'table',
            'message'   =>  'phone id already exists.'
         ]
    ]);

   public function emailUniqueCheck($value,$context){
        $phone           =  $context['data']['phone'];  
        $data    =  $this->find('all')->where(array('phone' => $phone))->first();   

        if(empty($data)){
            return true;
        }
        return false;
    }

2

$validator->requirePresence('phone',true,__('Please enter phone'))  
    ->add('phone', 'unique', ['rule' => 'validateUnique', 'provider' => 'table','message' => 'Phone id already exists.']);