sfValidatorEmails
Par Michaël Parienti le vendredi 15 mai 2009, 16:56 - Dev - Lien permanent
La classe suivante permet de valider, dans symfony, une liste d’emails, entrée par l’utilisateur dans un champs de type textarea. Elle s’appuie sur le travail de la classe sfValidatorEmail.
class sfValidatorEmails extends sfValidatorBase
{
public function __construct($options = array(), $messages = array())
{
parent::__construct(array_merge($options, array('trim' => true)), $messages);
}
public function doClean($value)
{
$i = 0;
$emails = explode("\n", $value);
$validator = new sfValidatorEmail($this->options, $this->messages);
$cleaned_emails = array();
try {
foreach ($emails as $email) {
++$i;
$cleaned_emails[] = $validator->clean($email);
}
} catch (Exception $e) {
throw new sfValidatorError($this, 'invalid',
array('line' => $i, 'bad_email' => $email));
}
return implode("\n",$cleaned_emails);
}
}