Vuejs: Formularios y validación

Vuejs
Vuejs
Actualizado: 14/02/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

En esta lección, exploraremos cómo trabajar con formularios y validación en Vue 3.5. La gestión adecuada de formularios y su validación son aspectos esenciales en el desarrollo de aplicaciones web. Vue 3.5 ofrece una serie de herramientas y técnicas para facilitar estas tareas.

Creación de formularios en Vue 3.5

Para empezar, vamos a crear un formulario básico en Vue 3.5. Utilizaremos v-model para enlazar datos y @submit.prevent para manejar la presentación del formulario:

<template>
  <form @submit.prevent="submitForm">
    <div>
      <label for="name">Nombre:</label>
      <input type="text" id="name" v-model="name" />
    </div>
    <div>
      <label for="email">Email:</label>
      <input type="email" id="email" v-model="email" />
    </div>
    <button type="submit">Enviar</button>
  </form>
</template>

<script>
export default {
  data() {
    return {
      name: '',
      email: ''
    };
  },
  methods: {
    submitForm() {
      console.log('Nombre:', this.name);
      console.log('Email:', this.email);
    }
  }
};
</script>

En este ejemplo, el formulario está compuesto por dos campos: nombre y email. Utilizamos v-model para enlazar cada campo a una propiedad del objeto data de Vue. La directiva @submit.prevent evita el comportamiento por defecto del formulario y llama al método submitForm cuando se envía el formulario.

Validación de formularios

Vue 3.5 no incluye un sistema de validación integrado, pero podemos utilizar bibliotecas externas como Vuelidate o vuelidate-next para añadir validaciones. A continuación, mostraremos un ejemplo utilizando Vuelidate:

Instalación de Vuelidate

Primero, instalamos Vuelidate:

npm install @vuelidate/core @vuelidate/validators

Integración de Vuelidate en el formulario

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Ahora, integremos Vuelidate en nuestro formulario:

<template>
  <form @submit.prevent="submitForm">
    <div>
      <label for="name">Nombre:</label>
      <input type="text" id="name" v-model="name" />
      <span v-if="!$v.name.required">El nombre es requerido</span>
    </div>
    <div>
      <label for="email">Email:</label>
      <input type="email" id="email" v-model="email" />
      <span v-if="!$v.email.required">El email es requerido</span>
      <span v-if="!$v.email.email">El email no es válido</span>
    </div>
    <button type="submit">Enviar</button>
  </form>
</template>

<script>
import { required, email } from '@vuelidate/validators'
import useVuelidate from '@vuelidate/core'

export default {
  data() {
    return {
      name: '',
      email: ''
    };
  },
  validations() {
    return {
      name: { required },
      email: { required, email }
    };
  },
  setup() {
    return { v$: useVuelidate() };
  },
  methods: {
    submitForm() {
      this.v$.$touch();
      if (this.v$.$invalid) {
        console.log('Formulario inválido');
        return;
      }
      console.log('Nombre:', this.name);
      console.log('Email:', this.email);
    }
  }
};
</script>

En este ejemplo, hemos añadido validación para los campos de nombre y email. La validación se realiza utilizando las reglas required y email de Vuelidate. La directiva v-if se usa para mostrar mensajes de error cuando los campos no cumplen con las reglas de validación.

Vue 3.5 y Vuelidate juntos proporcionan una manera efectiva de gestionar formularios y validación en aplicaciones web, asegurando que los datos ingresados por los usuarios sean correctos y completos.

Completa Vuejs y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración