Update:
Nach der Symfony Dokumentation, behaupten Länge daher NULL & leere Strings als gültig, geht davon aus, warum es passiert (http://symfony.com/doc/current/reference/constraints/Length.html#min).
Bitte fügen Sie Assert \ NotBlank() und dies wird die leeren Strings
validieren -
Was die symfony-Formular-Builder tun wird, ist die Formularvalidierung Optionen, um die Formularelemente hinzufügen, zum Beispiel:
<input name="my_field" required>
Ein Desktop-Browser wird bestätigen, dass dieses Formularelement erforderlich ist (Client-Seite) & wenn leer, verhindert das Formular abgeschickt wird. Auf Mobilgeräten werden die Formulare nicht automatisch validiert (ich muss noch einen Grund dafür finden ..?). Daher müssen Sie eine JavaScript-Formularüberprüfung hinzufügen, um zu verhindern, dass das Formular gesendet wird, wenn es auf Mobilgeräten/Tablets ungültig ist Geräte.
Bitte stellen Sie sicher, dass das Formular korrekt auf die Entity-Klasse zugeordnet ist:
// AppBundle/Form/EntityForm.php
<?php
namespace AppBundle\Form;
class EntityForm extends AbstractType
{
// ...
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => 'AppBundle\Entity\MyEntity',
]);
}
}
Um sicherzustellen, dass symfony Anmerkungen validiert, fügen Sie diese zu Ihrer app/config/config.yml
# app/config/config.yml
framework:
validation: { enable_annotations: true }
Bitte Zeigen Sie den Code an, mit dem Sie Ihr Objekt validieren. – xabbuh
Es gibt keinen Code. Für mich die Validierungs-ID über die @ Assert und Symfony-Mechanismen, nein? – Laurent
Nun, die Frage ist, ob Sie jemals den Validator aufrufen (zum Beispiel durch '$ form-> isValid()') oder wenn Sie sich einfach auf die clientseitige Validierung verlassen. – xabbuh