No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

18 Días
1 Hrs
29 Min
55 Seg
Curso de Fundamentos de Symfony 6

Curso de Fundamentos de Symfony 6

Profesor Italo Morales F

Profesor Italo Morales F

Validator

14/17
Recursos

Aportes 3

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Validator

composer require symfony/validator

Luego en la entidad:

use Symfony\Component\Validator\Constraints as Assert;
...
#[Assert\NotBlank]

En el controlador:

...
if( $form->isSubmitted() && $form->isValid() ) {
...

En la entidad, podemos traducir el mensaje:

#[Assert\NotBlank(message:'El texto es obligatorio')]
```js createForm(CommentType::class); $form->handleRequest($request); $validator = Validation::createValidator(); if ($form->isSubmitted()) { $data = $form->getData(); $violations = $validator->validate($data->getBody(), [ new Length(['min' => 10]), new NotBlank(), ]); // dd($data->getBody() , $violations); if (0 !== count($violations)) { // dd( $violations[0]->getMessage()); return $this->redirectToRoute('home', ['errors' => $violations[0]->getMessage()]); } else { $entityManager->persist($form->getData()); $entityManager->flush(); return $this->redirectToRoute('home'); } } // findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) ; // $comments = $entityManager->getRepository(Comment::class)->findBy([], ['id' => 'DESC']); $comments = $entityManager->getRepository(Comment::class)->findBy([], ['id' => 'ASC']); // dd($comments); return $this->render('comment/index.html.twig', [ 'controller_name' => 'CommentController', // 'comments'=> $entityManager->getRepository(Comment::class)->findAll(), 'comments' => $comments, 'form' => $form->createView(), ]); } } ``````js {% extends 'base.html.twig' %} {% block title %}Hello CommentController! {% endblock %} {% block body %} {# {{dump(comments)}} #} {# {% if app.request.get('errors') ?? false %} <script>alert("No se puedo procesar ");</script>
  • {{app.request.get('errors')}}
  • {% endif %} #} {% if app.request.get('errors') ?? false %}
    {{app.request.get('errors')}}
    {% endif %}
    {{ form(form) }}
      {% for comment in comments %}
    • comentario : {{comment.body}} ID: {{comment.id}}
    • {% endfor %}
    {% endblock %} ```
    En mi caso usando **Symfony 6.3.4** no hizo falta agregar el: `#[Assert\NotBlank]` Peeero el dejar un mensaje no funciona :c Alguna ayuda? ` #[Assert\NotBlank(message: 'El texto es obligatorio')] ` `private ?string $body = null;`