No tienes acceso a esta clase

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

Curso de Symfony 6: Formularios

Curso de Symfony 6: Formularios

Profesor Italo Morales F

Profesor Italo Morales F

Validación de datos

17/20
Recursos

Aportes 4

Preguntas 0

Ordenar por:

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

Puedes utilizar este comando para ver las validaciones aplicadas en una entidad, para el ejemplo la entidad Post

symfony console debug:validator ‘App\Entity\Post’

Si quieren modificar el mensaje al momento del error, pueden hacerlo dentro de cada validacion `#[Assert\NotBlank (        message: 'The title can not be null'    )] //NotBlank verify that there isn't null, nor blank, nor false.    #[Assert\Length(min:9, max:90, minMessage:'The title must have 9 characters like min', maxMessage:'The title must have less than 90 characters like min') ]`
**Aplicar validación:** <u>Paso1:</u> Dentro de la entidad, referencias componente `use Symfony\Component\Validator\Constraints as Assert;` <u>Paso2: </u>Escrbir reglas para cada elemento de la entidad: `#[Assert\NotBlank()]` `#[Assert\Length(min: 9, max: 90)]` <u>Paso3: En e</u>l controller verificar que el form sea valido `if ($form->isSubmitted() && $form->isValid())`
Es interesante tener la validación de los datos por los 2 lados (cliente y servidor). Symfony hace mucho más fácil el garantizar la integridad de la información insertada y/o actualizada. Sin embargo tengo una Pregunta: ¿Symfony tiene mecanismos para realizar validaciones sujetas al valor de un campo previo? Es decir: Tengo 2 campos: Categoría y Rango, y el rango está sujeto a una categoría, en caso de que se tengan rangos para una categoría. La idea es: Si selecciono una categoría que no tenga rangos, entonces no pide el rango como campo obligatorio; y solo debería pedir el rango como obligatorio, en caso de que la categoría los tenga. Eso en Javascript se puede controlar, pero se desconoce si se puede hacer por medio de Symfony. Quedo atento a cualquier respuesta.