Tipo di campo hidden

Il tipo hidden rappresenta un campo input nascosto.

Reso come campo input hidden
Opzioni ridefinite
Opzioni ereditate
Tipo genitore field
Classe Symfony\Component\Form\Extension\Core\Type\HiddenType

Opzioni ridefinite

required

predefinito: false

I campi nascosti non possono avere un attributo required.

error_bubbling

predefinito: true

Passa gli errori al form radice, altrimenti non sarebbero visibili.

Opzioni ereditate

Queste opzioni sono ereditate dal tipo form:

data

tipo: mixed predefinito: Predefinito al campo dell’oggetto sottostante (se presente)

Quando si crea un form, ogni campo inizialmente mostra il valore della proprietà corrispondente dell’oggetto del dominio del form (se un oggetto è legato al form). Se si vuole sovrascrivere il valore iniziale per il form o solo per un singolo campo, lo si può fare con l’opzione data:

$builder->add('token', 'hidden', array(
    'data' => 'abcdef',
));

property_path

tipo: qualsiasi predefinito: il valore del campo

I campi mostrano il valore di una proprietà dell’oggetto del dominio del form. Quando il form è inviato, il valore immesso è scritto nell’oggetto.

Se si vuole sovrascrivere la proprietà che un campo legge e scrive, si può impostare l’opzione property_path. Il suo valore predefinito è il nome del campo.

Se si vuole che il campo sia ignorato in lettura o in scrittura dell’oggetto, si può impostare l’opzione property_path a false

mapped

tipo: booleano

Se si vuole che il campo sia ignorato durante la lettura o la scrittura dell’oggetto, si può impostare l’opzione mapped a false

error_mapping

tipo: array predefinito: empty

Questa opzione consente di modificare il bersaglio di un errore di validazione.

Si immagini di avere un metodo personalizzato, di nome matchingCityAndZipCode, che valida se una città e un codice postale corrsispondano. Purtroppo non c’è un campo “matchingCityAndZipCode” nel form, quindi tutto ciò che può fare Symfony è mostrare l’errore in cima al form stesso.

Con la mappatura personalizzata degli errori, si può fare meglio: mappare l’errore al campo della città, in modo che sia mostrato accanto a esso:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'error_mapping' => array(
            'matchingCityAndZipCode' => 'city',
        ),
    ));
}

Ecco le regole per i lati destro e sinistro della mappatura:

  • I lato sinistro contiene i percorsi delle proprietà.
  • Se la validazione è generata su una proprietà o metodo di una classe, il suo percorso è semplicemente “nomeProprietà”.
  • Se la validazione è generata su un elemento di un array od oggetto ArrayAccess, il percorso è [nomeIndice].
  • Si possono costruire percorsi innestati, concatenandoli, separando le proprietà con dei punti. Per esempio: addresses[work].matchingCityAndZipCode
  • Anche il lato sinistro della mappatura accetta un punto ., che si riferisce al campo stesso. Questo significa che un errore aggiunto al campo è aggiunto invece al dato campo innnestato.
  • Il lato destro contiene semplicemente i nomi dei campi nel form.

Tabella dei contenuti

Argomento precedente

Tipo di campo repeated

Argomento successivo

Tipo di campo button

Questa pagina