首页 > 解决方案 > CakePHP validateUnique 未找到

问题描述

通过从我的数据库烘焙创建了一个 UsersTable.php 文件。

我将用户名用作电子邮件地址就好了。

但后来我想确保新用户不会尝试使用现有电子邮件地址创建帐户。我在文档中发现了这个非常简单的验证器方法,它看起来正是我所需要的。

    $validator
        ->email('email')
        ->requirePresence('email', 'create')
        ->allowEmptyString('email', false)
        ->validateUnique('email', true);

但是......我得到:

Call to undefined method Cake\Validation\Validator::validateUnique()

标签: cakephpcakephp-3.xcakephp-3.7

解决方案


validateUnique 是 Table 对象上的方法,而不是 Validator 对象。您需要使用 Validator::add 方法,如您链接到的页面上的示例所示。


推荐阅读