J'ai un formulaire ou j'ai ajouter les validations comme le script suivant :
<?php
namespace App\Entity;
use App\Repository\ReportedBugsRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass=ReportedBugsRepository::class)
*/
class ReportedBugs
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="datetime")
*/
private $CreatedAt;
/**
* @ORM\Column(type="string", length=255)
* @Assert\Length( min = 10, max = 255, minMessage = "Your first name must be at least {{ limit }} characters long",)
*/
private $Author;
/**
* @ORM\Column(type="string", length=255)
*/
private $Email;
/**
* @ORM\Column(type="date")
*/
private $Date;
/**
* @ORM\Column(type="string", length=255, nullable=true)
* @Assert\Length( min = 10, max = 255,)
*/
private $Title;
/**
* @ORM\Column(type="text")
* @Assert\Length( min = 10,)
*/
private $Content;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $Attachment;
public function getId(): ?int
{
return $this->id;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->CreatedAt;
}
public function setCreatedAt(\DateTimeInterface $CreatedAt): self
{
$this->CreatedAt = $CreatedAt;
return $this;
}
public function getAuthor(): ?string
{
return $this->Author;
}
public function setAuthor(string $Author): self
{
$this->Author = $Author;
return $this;
}
public function getEmail(): ?string
{
return $this->Email;
}
public function setEmail(string $Email): self
{
$this->Email = $Email;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->Date;
}
public function setDate(?\DateTimeInterface $Date): self
{
$this->Date = $Date;
return $this;
}
public function getTitle(): ?string
{
return $this->Title;
}
public function setTitle(?string $Title): self
{
$this->Title = $Title;
return $this;
}
public function getContent(): ?string
{
return $this->Content;
}
public function setContent(string $Content): self
{
$this->Content = $Content;
return $this;
}
public function getAttachment(): ?string
{
return $this->Attachment;
}
public function setAttachment(?string $Attachment): self
{
$this->Attachment = $Attachment;
return $this;
}
}
Mais le texte de "minMessage" ne s'affiche pas dans mon formulaire.
Quand la valeur du champs n'est pas bon , la bordure passe que en rouge, avec le texte "Veuillez modifier la valeur pour correspond au format demandé". Mais pas le texte "Your first name must be at least {{ limit }} characters long".
C'est la validation HTML5 qui semble prendre le pas (et tu utilises probablement Firefox au vu du style qui semble s'appliquer). J'aimerais bien voir la classe de formulaire s'il te plaît, je parie que tu as mis un attribut pattern sur ton champ, je me trompe ?
Voilà. Ligne 72, Symfony génère pour toi un attribut pattern=".{10,}" pour forcer à avoir au moins 10 caractères.
Si tu souhaites tester sans être gêné par la validation HTML 5, tu peux ajouter à la balise <form> l'attribut novalidate="true". Pour les tests, je le fais souvent via la console de mon navigateur.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.