Viene visualizzato il seguente errore quando si tenta di passare un'opzione al mio metodo buildForm
in uno dei miei moduli.L'opzione non esiste errore quando si passa dall'opzione dal controller al modulo Symfony incorporato
L'opzione "numOfHoles" non esiste. Le opzioni definite sono: "azione", "allow_extra_fields", "attr", "auto_initialize", "block_name", "by_reference", "cascade_validation", "compound", "constraints", "csrf_field_name", "csrf_message", " csrf_protection "," csrf_provider "," csrf_token_id "," csrf_token_manager "," data "," data_class "," disabled "," empty_data "," error_bubbling "," error_mapping "," extra_fields_message "," inherit_data "," intention " , "invalid_message", "invalid_message_parameters", "label", "label_attr", "label_format", "mapped", "max_length", "method", "pattern", "post_max_size_message", "property_path", "read_only", " richiesto "," translation_domain "," trim "," validation_groups "," virtual ".
Nel mio controller:
// hardcoded here for brevity in this example
$form = $this->createForm('crmpicco_course_row', $courseRow, array('numOfHoles' => 18));
In crmpicco_course_row
classe Form:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('course', 'crmpicco_course', array('numOfHoles' => $options['numOfHoles']))
;
}
In crmpicco_course
classe Form:
public function buildForm(FormBuilderInterface $builder, array $options)
{
for ($i = 0; $i < $options['numOfHoles']; $i++) {
$builder->add($i, 'text', array('required' => 'false'));
}
}
/**
* @return string name
*/
public function getName()
{
return 'crmpicco_course';
}
Qualcuno può vedere perché l'opzione numOfHoles
non è p passando attraverso?
È necessario aggiungere l'opzione 'numOfHoles' utilizzando la funzione' setDefaults' o 'setRequired' all'interno di' configureOptions (OptionsResolver $ resolver) 'del proprio generatore di moduli. –