En mi caso si es un campo de la tabla de la BD.
El 27 de agosto de 2011 08:57, Cristian haunsen
<[email protected]>escribió:
> No me funciona en el add.
> Quizas sea porque el campo no es un campo de la tabla de la DB, aunque dudo
> que sea por eso. Nunca he tenido problemas en otras ocasiones.
> Explico un poco mejor:
>
> En el modelo (room.php) tengo lo siguiente:
>
> public $validate = array(
> 'name' => array(
> 'notEmpty' => array(
> 'rule' => 'notEmpty',
> 'allowEmpty' => false,
> 'message' => 'no vacio',
> 'last' => 'on'
> ),
> 'isUnique' => array(
> 'rule' => 'isUnique',
> 'allowEmpty' => false,
> 'message' => 'El nombre ya existe',
> 'last' => 'on'
> )
> ),
> 'description' => array(
> 'notEmpty' => array(
> 'rule' => 'notEmpty',
> 'allowEmpty' => false,
> 'message' => 'no vacio',
> 'last' => 'on'
> )
> ),
> * 'image' => array(
> 'rule' => array(
> 'extension', array('png','jpg', 'jpeg', 'gif')),
> 'required' => true,
> 'allowEmpty' => false,
> 'message' => 'Archivo inválido',
> 'last' => 'on'
> )*
>
> );
>
> El campo en negrita NO es un capo de la tabla.
>
> Y en el controller tengo lo siguiente:
> if (!empty($this->data)){
> $this->Room->set( $this->data );
> if ($this->Room->validates()) {
>
> // con esta linea obtengo el URL de la imagen subida al server.
> $this->data['Room']['flag'] =
> $this->__upload($this->data['Room']['image']);
> $this->Room->create();
> if($this->Room->save($this->data)){
> $this->Session->setFlash('Se guardó (pero hay que
> cambiarlo)');
> $this->redirect(array('controller' => 'rooms', 'action' =>
> 'add' ));
> }
> }
>
> y la vista
>
> <?php echo $this->Form->create('Room', array('type' => 'file',
> 'inputDefaults' => array( 'label' => false, 'div' => false))); ?>
> <?php echo $this->Form->file('image'); ?>
> ....
> ...
> <?php echo $this->Form->end(); ?>
>
>
> Saludos. y espero respuestas.
>
>
>
> El 26 de agosto de 2011 20:13, sandra milena mendoza <[email protected]
> > escribió:
>
>> si me funciona perfectamente en el add. En que action no te funciona? en
>> el add o en el edit?
>>
>> El 26 de agosto de 2011 16:20, Cristian haunsen <
>> [email protected]> escribió:
>>
>>> En la vista no has tenido problemas mostrando el mensaje?
>>> Te pregunto esto porque si bien la validacion funciona, es decir que no
>>> me permite enviar el formulario, el mensaje de error no aparece
>>>
>>> Saludos
>>>
>>> El 11 de agosto de 2011 12:40, Dani F. Serch <[email protected]>escribió:
>>>
>>> No sabía que se podía comprobar la extensión de los archivos subidos
>>>> desde validate!
>>>> Gracias Sandra
>>>>
>>>> El 11 de agosto de 2011 04:37, sandra milena mendoza <
>>>> [email protected]> escribió:
>>>>
>>>> Solucionado,
>>>>>
>>>>> 'imagen' => array(
>>>>> 'rule' => array(
>>>>> 'extension',
>>>>> array('pdf','txt')),
>>>>> 'required' => true,
>>>>> 'allowEmpty' => true,
>>>>> 'message' => 'Archivo inválido'
>>>>> )
>>>>>
>>>>>
>>>>> On 10 ago, 21:11, sandra milena mendoza <[email protected]> wrote:
>>>>> > Buenas noches,
>>>>> >
>>>>> > Necesito validar un campo tipo file: $this->Form-
>>>>> >
>>>>> > >input('imagen',array('type'=>'file', 'label' =>'Archivo 1'));
>>>>> >
>>>>> > pero me salen errores.
>>>>> >
>>>>> > Mi validacion es,
>>>>> >
>>>>> > var $validate =array (
>>>>> > 'imagen' => array(
>>>>> > 'rule' => 'notEmpty',
>>>>> > 'required' => true,
>>>>> > 'message' => 'Requerido'
>>>>> > )
>>>>> > );
>>>>>
>>>>> --
>>>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es"
>>>>> de Grupos de Google.
>>>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>>>> [email protected].
>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>>>> [email protected]
>>>>> Para tener acceso a más opciones, visita el grupo en
>>>>> http://groups.google.com/group/cakephp-es?hl=es.
>>>>>
>>>>>
>>>> --
>>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
>>>> Grupos de Google.
>>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>>> [email protected].
>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>>> [email protected]
>>>> Para tener acceso a más opciones, visita el grupo en
>>>> http://groups.google.com/group/cakephp-es?hl=es.
>>>>
>>>
>>> --
>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
>>> Grupos de Google.
>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>> [email protected].
>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>> [email protected]
>>> Para tener acceso a más opciones, visita el grupo en
>>> http://groups.google.com/group/cakephp-es?hl=es.
>>>
>>
>>
>> *
>> *
>>
>> --
>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
>> Grupos de Google.
>> Para publicar una entrada en este grupo, envía un correo electrónico a
>> [email protected].
>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>> [email protected]
>> Para tener acceso a más opciones, visita el grupo en
>> http://groups.google.com/group/cakephp-es?hl=es.
>>
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> [email protected].
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> [email protected]
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.