cakephp isUnique pour les 2 champs?

J'ai un formulaire d'inscription dans lequel les utilisateurs peuvent remplir deux adresse e-mail (email1 & email2). Le Marketing de l'exigence, c'est qu'ils ont besoin d'être unique (unique comme si on avait 10 utilisateurs, alors il n'y aurait 10*2=20 adresse e-mail unique).

Le système est déjà construit sur cakephp, donc ce que je voudrais savoir, est-il quelque chose de similaire à la isUnique fonctionnalité (unique dans un champ) qui peut faire de ce droit hors de la boîte? Ou suis-je condamné à code moi-même? Merci à l'avance.

EDIT: construit sur Richard exemple, cela a fonctionné pour moi:

function checkUnique($data, $fields) {
    if (!is_array($fields)) {
        $fields = array($fields);
    }
    foreach($data as $key) {
        $checks = $key;
    }
    if (empty($checks)) {
      return true;  //allow null
    }
    foreach($fields as $key) {
        $tmp[$key] = $checks;
    }
    if (isset($this->data[$this->name][$this->primaryKey])) {
        $tmp[$this->primaryKey] = "<>".$this->data[$this->name][$this->primaryKey];
    }
    return $this->isUnique($tmp);
}
Notez que des versions plus récentes de CakePHP2.x prise en charge d'un tableau de book.cakephp.org/2.0/en/models/... pour permettre à de multiples champs par défaut maintenant.

OriginalL'auteur jodeci | 2010-03-17