0

いくつかの登録フォーム (最も単純なもの) を準備し、私のモデルでは、電子メール フィールドの検証を準備します。

'email' => array(
    'mail' => array(  
        'rule' => array('email', true),  
        'required' => false,  
        'message' => 'Not correct e-mail!'),  
    'unique' => array(  
        'rule' => 'isUnique',  
        'message' => 'E-mail was registered!'))

しかし、規則 isUnique は機能しません。
さらに、MySQL フィールドの電子メールを一意に変更しましたが、それでも機能しません。
私はCakePHP 2.3.7を使用しています


問題は、モデルで翻訳動作を使用する場合です。

クエリ:

SELECT COUNT(DISTINCT(`User`.`id`)) AS count FROM `sometable`.`users` AS `User` INNER JOIN `sometable`.`i18n` AS `I18nModel` ON (`User`.`id` = `I18nModel`.`foreign_key` AND `I18nModel`.`model` = 'User' AND `I18nModel`.`locale` = 'pl') WHERE `User`.`email` = 'kicaj@kdev.pl'

フィールドのメールは翻訳されていません。

4

2 に答える 2

1

これを試して。

array(
    'email' => array(
        'notEmpty' => array(
            'rule' => 'notEmpty',
            'message' => 'Provide an email address'
        ),
        'validEmailRule' => array(
            'rule' => array('email'),
            'message' => 'Invalid email address'
        ),
        'uniqueEmailRule' => array(
            'rule' => 'isUnique',
            'message' => 'Email already registered'
        )
    )
);
于 2013-08-02T06:37:29.370 に答える