Sur Symfony 1.4.11, j'ai un champ booléen qui est défini sur un formulaire par une case à cocher HTML. Lorsque la valeur est 0 (sans contrôle), puis le code HTML de la case à cocher estSymfony enregistre toujours les cases à cocher comme
<input type="checkbox" value="" name="gift_type[valid]">
Lorsque je tente de sauver l'est de celui-ci toujours sauvé comme zéro, je suppose que l'entrée n'a pas de valeur.
Le code que j'utilise pour la case à cocher est généré par le générateur d'administration de symfony, donc je pensais que cela fonctionnerait "prêt à l'emploi". Si je désélectionne une vraie valeur, cela fonctionne comme prévu.
schema.yml
GiftType:
columns:
valid: { type: boolean, notnull: true, default: true }
BaseGiftTypeForm.class.php
$this->setWidgets(array(
'valid' => new sfWidgetFormInputCheckbox()
));
$this->setValidators(array(
'valid' => new sfValidatorBoolean(array('required' => false))
));
Il semble que sfWidgetFormInputCheckbox ait été remplacé par un fichier du même nom dans/lib/vender/symfony/widget où ses méthodes de rendu affichent '$ format = <<< FORMAT