setValue(campo, '') no dispara obligatoriedad en lista desplegable

18/11/2011

Tengo una lista desplegable con los valores 1 => 'Sí', 0 => 'No' y '' => '' (elemento vacío). Este campo está marcado como obligatorio, con el atributo obligatorio="true" en la TPL. Si el usuario elige el elemento vacío manualmente, el Framework evita que se guarden los cambios o se inserte el registro, indicando al usuario que complete ese campo. Sin embargo, cuando ese campo se completa desde una acción de interfaz, con una llamada a $objDatos->setValue(campo, ''), si el usuario le da a Guardar, el Framework no comprueba (o no se entera) que el valor de ese campo es vacío y al ser obligatorio debería avisarle... con lo cual, hace un UPDATE (o INSERT) así: ... campo = NULL ... Y ese campo está como no nulo en la BD, con lo cual MySQL le asigna valor 0, que representa 'No'. Debería comportarse de igual modo en ambos casos: impedir guardar y advertir al usuario siempre que el valor de ese campo sea el vacío, tanto si el usuario lo completó, como si lo hizo una acción de interfaz.



versionesNone
resolutionNone
Seviritymajor

Category

Bugs

Comments

Mon, 21/11/2011 - 16:27

Ocurre lo mismo con $objDatos->setSelected(campo, '').

The content of this field is kept private and will not be shown publicly.