Introducción a desarrollo web con PHP y Yii
¿Qué es Yii2?
¿Por qué usar PHP y Yii2?
Arquitectura modelo–vista–controlador
Instalación de Yii2
Estructura de una aplicación con Yii2
Configuración de variables de entorno
Quiz: Introducción a desarrollo web con PHP y Yii
Esquema de la aplicación
Proyecto: The Book Club
Creación del schema de la base de datos
Creación de tablas clubs y club_members
Quiz: Esquema de la aplicación
Modelos, vistas y controladores
Commands
Model
ActiveRecord
ActiveRecord de la clase author
Relational data: hasOne()
Relational data: hasMany()
Web Controllers
Controller de la clase author
Enrutamiento y creación de URLS con urlManager
Views
Configuración de vistas con Smarty
Quiz: Modelos, vistas y controladores
Manejo de usuarios con Yii2
Clase user
Autenticación de usuarios
Autenticación de usuarios: LoginForm
User input
Formulario de login con ActiveForm
Validación de modelo con core validators
Core validators: unique, filter, email
Quiz: Manejo de usuarios con Yii2
Enlaces, navegación y tablas intermedias
Dar de alta un libro
Asignación de libros a usuario
Asignación de libros a usuario: vista
Calificar un libro
Promedio de calificaciones de libro
Relaciones entre tablas intermedias con viaTable()
Enlaces y navegación
Quiz: Enlaces, navegación y tablas intermedias
Despliegue y cierre del proyecto
Despliegue de aplicación de Yii2 a Heroku
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El manejo de validaciones en aplicaciones web es crucial para asegurar la integridad de los datos que maneja el sistema. En Yii, este proceso se optimiza a través de las funciones disponibles en los modelos, permitiendo ahorrar tiempo y evitar errores comunes. Aquí exploraremos cómo implementar estas validaciones.
Yii ofrece funciones como attributeLabels()
, attributeHints()
y rules()
para gestionar las validaciones de los datos:
attributeLabels()
: Retorna un arreglo con etiquetas personalizadas para cada atributo, permitiendo modificar cómo se despliega la información dentro de una vista.
public function attributeLabels() {
return [
'username' => 'Usuario',
];
}
attributeHints()
: Proporciona consejos o indicaciones adicionales para cada campo, lo que le permite a los usuarios llenar los formularios de manera más informada.
public function attributeHints() {
return [
'username' => 'Deberá ser único en el sistema',
];
}
Las reglas de validación se definen en la función rules()
, retornando un arreglo de arreglos que especifica las condiciones que cada atributo debe cumplir.
Requerido (required
): Se asegura que el campo no esté vacío.
public function rules() {
return [
[['username', 'password'], 'required'],
];
}
Por defecto (default
): Permite aceptar cualquier valor de entrada sin validaciones estrictas.
['bio', 'default'],
String y longitud (string
): Restrictivo para limitar el largo de texto que el campo puede contener.
['username', 'string', 'length' => [3, 100]],
Yii facilita una serie de validadores predeterminados que cubren diferentes necesidades, desde validación de tipo de dato hasta comparaciones entre campos:
Valida tipo entero (integer
): Sólo permite números enteros.
Comparar (compare
): Compara un campo con otro dentro del mismo modelo, esencial para confirmaciones como las de la contraseña.
['password', 'compare', 'compareAttribute' => 'password_repeat'],
Estos validadores pueden combinarse y personalizarse para cumplir con políticas más detalladas de validación, como garantizar que un campo sea único o restringir la entrada a valores predeterminados.
Cuando los datos de un usuario no pasan las validaciones, es fundamental manejar los errores de manera clara para evitar confusiones y mejorar la experiencia de usuario.
if (!$model->validate()) {
// Restablecer campos sensibles como contraseñas
$model->password = '';
}
Implementar estrategias para manejar errores no solo refuerza la seguridad, sino que también impulsa una mejor interacción con el usuario.
Para quienes deseen expandir sus conocimientos sobre validadores en Yii, es recomendable revisar la lista de Core Validators de Yii, donde se detallan opciones adicionales y ejemplos prácticos.
Con prácticas robustas de validación, el desarrollo web no solo alcanza mayores niveles de seguridad, sino que también ofrece una experiencia de usuario más amigable y eficaz.
Aportes 3
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?