Ich bekomme den folgenden Fehler beim Versuch, eine Option zu meiner Methode in einem meiner Formulare zu übergeben.Option existiert nicht Fehler beim Durchlaufen der Option vom Controller zum eingebetteten Symfony-Formular
Die Option "numOfHoles" existiert nicht. Definierte Optionen sind: "action", "allow_extra_fields", "attr", "auto_initialize", "block_name", "by_reference", "cascade_validation", "zusammengesetzte", "constraints", "csrf_field_name", "csrf_message", " csrf_protection "," csrf_provider "," csrf_token_id "," csrf_token_manager "," daten "," data_class "," deaktiviert "," empty_data "," error_bubbling "," error_mapping "," extra_fields_message "," inherit_data "," absicht " , "invalid_message", "invalid_message_parameters", "label", "label_attr", "label_format", "mapped", "max_length", "methode", "muster", "post_max_size_message", "property_path", "read_only", " erforderlich "," translation_domain "," trim "," validation_groups "," virtual ".
In meinem Controller:
// hardcoded here for brevity in this example
$form = $this->createForm('crmpicco_course_row', $courseRow, array('numOfHoles' => 18));
In crmpicco_course_row
Form-Klasse:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('course', 'crmpicco_course', array('numOfHoles' => $options['numOfHoles']))
;
}
In crmpicco_course
Form-Klasse:
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';
}
Kann jemand sehen, warum die Option numOfHoles
nicht ist p durchblättern?
Sie müssen die Option 'numOfHoles' hinzufügen, indem Sie die Funktion' setDefaults' oder 'setRequired' im' configureOptions (OptionsResolver $ resolver) 'Ihres Formular-Builders verwenden. –