Skip to content

Instantly share code, notes, and snippets.

@lruozzi9
Created September 14, 2021 08:38
Show Gist options
  • Save lruozzi9/2c00f87a41d68c8b510bc72496592c56 to your computer and use it in GitHub Desktop.
Save lruozzi9/2c00f87a41d68c8b510bc72496592c56 to your computer and use it in GitHub Desktop.
A quick and easy reminder of some tips and doubts that may arise with the use of the Symfony framework

Appunti framework Symfony

Validation

Validazione oggetto con group sequence provider referenziato

Qui viene documentata la differenza fra i gruppi di validazione Default e ClassName. Nello specifico viene indicato che quando è presente un oggetto referenziato nella prima entità, esso verrà validato (sempre se presente il constraint Valid) con lo stesso gruppo del primo. Quindi se valido User con il gruppo Default, Address verrà validato con il gruppo Default e similmente con il gruppo ClassName.

La cosa cambia quando si usano dei group sequence provider (qui la guida). In questo caso, il gruppo di validazione Default si riferisce al group sequence.

Venendo al caso pratico, ci si è ritrovati a validare un oggetto con group sequence referenziato su un'entità. La prima entità aveva un gruppo di validazione specifico diverso da Default e dal ClassName. Nella FormType che aggiunge l'oggetto referenziato veniva richiamata un'altra FormType con validation_groups standard il gruppo Default e fra le opzioni il constraint Valid. Ci si aspettava quindi che l'oggetto referenziato fosse validato con il group sequence e che quindi venissero attivati in automatico i vari gruppi sulla base del proprio metodo sull'oggetto referenziato, invece l'oggetto veniva validato col gruppo di validazione della prima entità; il che significa che sia il gruppo Default della form che il group sequence provider stesso vengono ignorati quando non è l'oggetto stesso ad essere validato in prima istanza.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment