Cakephp 3.0 独特的电子邮件

Cakephp 3.0 Unique Email

我对 cakephp 很陌生,我需要有关设置唯一电子邮件和错误消息的帮助。这就是我的模型的样子。谢谢!

 <?php
 namespace App\Model\Table;

 use Cake\ORM\Table;
 use Cake\Validation\Validator;

  class UsersTable extends Table
  {

public function validationDefault(Validator $validator)
{
    return $validator
        ->notEmpty('email', 'A email is required')
        ->add('email', 'valid' , ['rule'=> 'email'])
        ->requirePresence('email','create')

        ->notEmpty('password', 'A password is required')
        ->notEmpty('role', 'A role is required')
        ->add('role', 'inList', [
            'rule' => ['inList', ['admin', 'author']],
            'message' => 'Please enter a valid role'
        ]);
}

}

另一种方法是将其添加到 Table 模型的 buildRules() 函数中。

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