Hola
Tengo un formulario, y en el campo email, el usuario podrá introducir varios emails separados por comas, luego hago un explode y añado dichos email al bcc de Zend Mail, pues bien, como hay un limite de emails que el usuario puede enviar, necesito una validación personalizada.
Leyendo en la documentación de Zend, he seguido unos pasos, pero como la documentación no esta clara o yo no me entero, me da error. Os cuento como lo he hecho.
En la carpeta library, he creado una carpeta llamada Custom y dentro de esta Validators
he creado un archivo php llamado Custom_Validators_LimiteEmails.php, cuyo código es:
Código PHP:
<?php
class Custom_Validators_LimiteEmails extends Zend_Validate_Abstract
{
public function isValid($value)
{
$this->_setValue($value);
$maximo= 5;
$emails = explode(',', $value);
if (count($emails)>$maximo) {
$this->_error();
return false;
}
return true;
}
}
luego el código de mi formulario es:
Código PHP:
$email = new Zend_Form_Element_Text('email');
$email->setLabel('emails');
$email->setRequired(true)
->addValidator('NotEmpty',true)
->addValidator(new Custom_Validators_LimiteEmails());
además en el application.ini he añadido esto:
autoloadernamespaces[] = Custom_
pues bien, me da este error:
Código:
Warning: include_once(Custom\Validators\LimiteEmails.php) [function.include-once]: failed to open stream: No such file or directory in ...\library\Zend\Loader.php on line 146
Warning: include_once() [function.include]: Failed opening 'Custom\Validators\LimiteEmails.php' for inclusion (include_path='C:\xampp\htdocs\...\application/../library;C:\xampp\htdocs\...\library;.;C:\Program Files (x86)\Zend\ZendServer\bin\pear;C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library;C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PHPUnit') in C:\xampp\htdocs\...\library\Zend\Loader.php on line 146
Fatal error: Class 'Custom_Validators_LimiteEmails' not found in C:\xampp\htdocs\...\application\forms\Formulario.php on line 43