Ich ziehe zu Symfony und habe das Problem mit der Validierung von Post-Daten, die ich sende. Ich habe diese Eigenschaft offizielle Dokumente und setzen in Entity gefolgt:Symfony Validator validiert Post-Daten nicht
/**
* @ORM\Column(type="string", length=100)
* @Assert\Length(
* min = 3,
* max = 50,
* minMessage = "Your name must be at least {{ limit }} characters long",
* maxMessage = "Your name cannot be longer than {{ limit }} characters"
*)
*/
private $name;
-Code in der Steuerung ist:
$student = new Student();
$student->setName($request->query->get('name'));
$student->setBirth_Date(new \DateTime($request->query->get('date')));
$validator = $this->get('validator');
$errors = $validator->validate($student);
if (count($errors) > 0) {
/*
* Uses a __toString method on the $errors variable which is a
* ConstraintViolationList object. This gives us a nice string
* for debugging.
*/
$errorsString = (string) $errors;
return new Response('Validation errors: '. $errorsString);
}
$em = $this->getDoctrine()->getManager();
$em->persist($student);
// actually executes the queries (i.e. the INSERT query)
$em->flush();
return new Response('Saved new student with id '. $student->getId());
Warum es nicht zu validieren und ich immer neuen Eintrag in der Datenbank erhalten? Fehle ich etwas?
Versuchen Sie, einige ungültige Daten zu senden und var_dump ($ student); var_dump ($ fehler); sterben(); nach Zeile '$ errors = $ validator-> validate ($ student);' Und bitte fügen Sie Ergebnisse in Ihre Antwort :) –