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.
versiones | None |
resolution | None |
Sevirity | major |
Comments
Ocurre lo mismo con $objDatos->setSelected(campo, '').