Introducción
En este proyecto, aprenderás a crear una aplicación de "Nota Pegajosa de Deseos" utilizando Vue.js y la biblioteca Element-UI. El objetivo del proyecto es proporcionar una plataforma anónima y conveniente para que las personas expresen sus metas, ideales y aspiraciones de manera segura y confidencial.
👀 Vista previa
Se reportará el siguiente error cuando no se cumplan las condiciones de validación del campo:

Después de cumplir las condiciones y publicar el deseo, el efecto es el siguiente:

🎯 Tareas
En este proyecto, aprenderás:
- Cómo configurar la estructura del proyecto y preparar los archivos y carpetas necesarios.
- Cómo renderizar el formulario completado en la pared de deseos.
- Cómo implementar la validación del formulario para asegurarse de que los campos de entrada cumplan con los criterios requeridos.
- Cómo manejar la función de envío y restablecimiento del formulario.
- Cómo implementar la funcionalidad de carga y vista previa de imágenes.
🏆 Logros
Después de completar este proyecto, podrás:
- Estructurar y organizar un proyecto de Vue.js.
- Utilizar la biblioteca Element-UI para crear formularios y manejar las interacciones de los usuarios.
- Implementar la validación del formulario utilizando las reglas de validación de Element-UI.
- Manejar la carga de archivos y las vistas previas de imágenes en una aplicación de Vue.js.
- Administrar el estado y actualizar la interfaz de usuario según las acciones del usuario.
Configurar la estructura del proyecto
En este paso, configurarás la estructura del proyecto y prepararás los archivos y carpetas necesarios.
Abre la carpeta del proyecto en tu editor de código. La estructura de directorios es la siguiente:
├── css
│ ├── fonts
│ │ ├── element-icons.ttf
│ │ └── element-icons.woff
│ ├── index.css
│ └── wish.css
├── images
│ ├── bg.jfif
│ └── ding.png
├── index.html
└── js
├── index.js
└── vue.min.js
Donde:
csses la carpeta donde se almacenan los estilos del proyecto paraelement-ui.imageses la carpeta de imágenes.index.htmles la página principal.jses la carpeta para las bibliotecas JavaScript dependientes del proyecto.
Haz clic en el botón Go Live en la esquina inferior derecha de WebIDE, para ejecutar el proyecto.
Luego, abre "Web 8080" en la parte superior de la VM y actualízala manualmente para ver la página.
La página no realiza la validación del cuadro de entrada durante la inicialización y la publicación del deseo no aparece después de la entrada.
Mostrar el formulario completado en el Muro de Deseos
En este paso, modificarás el archivo index.html para renderizar el formulario completado en la pared de deseos.
- Abre el archivo
index.htmlen la carpeta del proyecto. - Encuentra el comentario TODO en el archivo
index.htmly, después de observar el problema en el código, descubrí que el código env-for="(item,index) in []"tiene problemas y lo cambié al siguiente código:
<!-- TODO -->
<div
class="card"
:class="item.css"
v-for="(item,index) in wishList"
:key="index"
>
<!--... -->
</div>
El código en el elemento <div> con el atributo class="card" mostrará el nombre, el contenido y la imagen (si está disponible) del formulario completado en la pared de deseos.
Implementar la validación del formulario
En este paso, completarás la validación del formulario para asegurarte de que los campos de entrada cumplan con los criterios requeridos.
- Abre el archivo
index.htmlen la carpeta del proyecto. - Encuentra el objeto
rulesen la seccióndatade tu instancia de Vue para agregar el siguiente código:
rules: {
// TODO
name: [
{
required: true,
message: "Por favor, ingrese su nombre",
trigger: "blur"
},
{
min: 2,
max: 4,
message: "La longitud debe estar entre 2 y 4 caracteres",
trigger: "blur"
}
],
content: [
{
required: true,
message: "Por favor, ingrese el contenido",
trigger: "blur"
},
{
min: 1,
max: 30,
message: "La longitud debe estar entre 1 y 30 caracteres",
trigger: "blur"
}
]
},
En las propiedades
nameycontentdel objetorules, define las reglas de validación:name: El campo de nombre es obligatorio y debe tener entre 2 y 4 caracteres de longitud.content: El campo de contenido es obligatorio y debe tener entre 1 y 30 caracteres de longitud.
Con estas reglas de validación en lugar, el formulario ahora mostrará mensajes de error cuando los campos de entrada no cumplan con los criterios especificados.

- Después de cumplir las condiciones y publicar el deseo, el efecto es el siguiente:

Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



