Scusami se ti rispondo in ritardo ma ho avuto problemi con la casella email.

Allora, torniamo al tuo problema.

Sappiamo che le classi rule devono avere due metodi obbligatoriamente (nella versione attuale se non ce li hanno non succede niente a parte il fatto che la classe non funziona ma nelle versioni successive si dovrebbe ricevere errore!): il costruttore ed il metodo check.

Il metodo check è quello che viene richiamato dalla classe driver "FrmFild".

Tu vuoi controllare che l'indirizzo e-mail inserito sia univoco nel db.

I controlli da effettuare sull'indirizzo e-mail, quindi, sono:

1) E-mail valida (regex)
2) E-mail univoca

La nostra nuova classe, quindi, estenderà la classe PatternRule

Codice PHP:
class UniqueMailRule extends PatternRule {

    
// Metodo costruttore
    
function UniqueMailRule$mail ) {
    
// Richiamo il costruttore della classe parent
    // La regola è quella che uso io ma tu puoi metterne anche una diversa
    
parent::PatternRule"/^[a-zA-Z]{1}\w{1,10}[-|.|_]{0,1}\w{0,10}@\w{3,10}\.\w{0,10}-{0,1}\w{0,10}\.{0,1}\w{2,6}$/i" ) ;
    }

    
// Metodo check
    
function check$val $label ) {
    
// Qui metti il codice che ti serve per fare il controllo nel db
    
}

// End class 
Hai visto? Era così difficile! Ciao!