FAQUETYPE:
$branch = new Branch(); $form = $this->createForm(new BranchFormType(), $branch); if ($request->isMethod('POST')) { $form->bindRequest($request); if ($form->isValid()) { $em->persist($branch); $em->flush(); return $this->redirect($this->generateUrl('view_branch')); } } return $this->render('MyMainBundle:Branch:create.html.twig', array( 'form' => $form->createView() ));
5 Réponses :
Utilisez NotBlank validation contrainte p>
J'ai cette contrainte, mais je reçois ce message.
Votre fichier validation.yml est-il nommé correctement (minuscule)?
Hmm. Et quel est le chemin complet?
\ src \ my \ MainBundle \ Ressources \ config
On dirait que le fichier de validation est dans le dossier droit: Assurez-vous que vous n'utilisez pas de groupes de validation? p> Quoi qu'il en soit, j'utiliserais Affirmer code> pour voir s'il y a quelque chose qui ne va pas avec ce fichier de validation: p>
// ...
use My\MainBundle\Entity\Branch;
public function indexAction()
{
$branch = new Branch();
$branch->setName('');
$validator = $this->get('validator');
$errors = $validator->validate($branch);
if (count($errors) > 0) {
return new Response(print_r($errors, true));
} else {
return new Response('Entity is valid');
}
}
Vous devez vérifier si le service de validation a aggravé votre mappage:
$validator = $this->container->get('validator'); // do it your way $metadata = $validator->getMetadataFactory()->getClassMetaData('My\\MainBundle\\Entity\\Branch'); var_dump($metadata);
Juste pour ajouter sur cette bonne réponse @florian, que l'on peut donc regarder les propriétés contraintes comme ceci: $ métadata-> getconstraineProperties () code> ou consultez une propriété particulière comme ceci
var_dump ($ Metadata-> GetMembermettadatas ('Nom')) Code> Pour l'exemple de la propriété code> nom code>. Voir
symfony \ composant \ validator \ mappage \ classmetadata code>.
Avez-vous essayé de nettoyer le cache Dev depuis la création de validation.yml? J'avais une cause similaire de frustration, et cela a tout corrigé pour moi. P>
nullable = faux code> est une contrainte de doctrine,
isvalid code> n'effectue pas de chèques sur le côté de la doctrine (la doctrine ne sait pas comment valider en entité), vérifie uniquement les assertions (NotBlank ...) à partir du composant de validateur.
Je suppose qu'il pourrait y avoir un problème avec une cascade persist. Disons que votre entité de branche est liée à une autre entité (avec Cascade Persist) qui ont également un champ de «nom». Dans votre cas si vous définissez de la valeur pour le champ "Nom" de votre entreprise de branche mais ne définissez pas le champ "Nom" dans une entité associée, vous avez obtenu la même erreur que celle décrite. Alors pourriez-vous vous assurer que vos relations ne causent pas cette erreur? Je pourrais peut-être dire plus si vous postez votre définition de l'entité de branche
Vous avez peut-être raison, dans la barre d'outils SF, une erreur d'entité est une erreur d'entité, comme "les enfants désignent le champ de la propriété de la propriété Kloppe \ SMSBundle \ Entity \ Utilisateur d'utilisateur qui n'existe pas." Voici la définition d'entité dpaste.com/879513
Je pense que vous avez besoin
requis = true code> dans le formulaire
Votre définition de la branche a-t-elle le
getBranchanch () code> et
setbranch () code> méthodes définies?