Formulier controleren

Een formulier controleren

Je wilt altijd een formulier controleren en kijken of alle data goed en veilig is. Ook hierin regelt Symfony een hoop voor je.
In de basis van Symfony controleer je het formulier altijd in de functie waarin je het formulier ook aanroept en in eerste instantie toont (zie de vorige paragraaf over het aanmaken van een formulier).
In deze functie controleren we of het formulier verstuurd is en of het ook geldige data heeft. Als dit het geval is kan je vervolgens de data verwerken, dit leer je in de volgende paragraaf.

Is het formulier verstuurd

Om te controleren of het formulier verstuurd is gebruik je de volgende code:
$form->isSubmited()
De functie zegt eigenlijk al genoeg, het controleert of er op de verzendknop geklikt is.

Is het formulier verstuurd

De tweede functie die je nodig hebt is
$form->isValid()
Ook dit is een duidelijke functie, het controleert of het formulier geldig is.

Beide functies in een if-statement

Deze twee functies zetten we in een if-statement. Zijn ze beide waar, dan is je formulier verstuurd en de data erin geldig.
if ($form->isSubmitted() && $form->isValid())

De complete functie

De functie uit ons voorbeeld om een boek toe te voegen zou er dan als volgt uitzien:

//Use-space in de Controller
use App\Form\BookType;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;

//Functie om een boek toe te voegen verder op
public function add(Request $request, EntityManagerInterface $entityManager): Response
{
    $form = $this->createForm(BookType::class);
    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {
        //Hier komt de afhandeling van het formulier in
    }

    return $this->render('book/add.html.twig', [
        'form' => $form
    ]);
}
De basis van een formulier inclusief controle
Het afhandelen komt in de volgende paragraaf aan bod.