oziAuth

Versión: 3.0.0Actualizado: 2026-05-27

Descripción

Plugin de validación de formularios de autenticación. Concentra las reglas de contraseña, correo electrónico y confirmación en un motor aislado — oziAuth() — y aplica retroalimentación visual en tiempo real en los campos, lista de reglas y botón de envío, guiando al usuario a completar en el orden correcto.


Ejemplos

[1] Formulario completo con lista de reglas

<input type="email" name="email"
    data-ozi-auth-mail
    class="form-control"
    placeholder="Correo electrónico">

<input type="password" name="password"
    data-ozi-auth-pass="bi bi-eye-slash,bi bi-eye"
    class="form-control"
    placeholder="Contraseña">

<input type="password" name="confirm"
    data-ozi-auth-confirm="bi bi-eye-slash,bi bi-eye"
    class="form-control"
    placeholder="Confirmar contraseña">

<div id="reglasContrasena"></div>

<button type="submit"
    data-ozi-auth-submit
    data-ozi-auth-list-id="reglasContrasena"
    data-ozi-auth-check="bi bi-circle,bi bi-check2-circle"
    class="btn btn-secondary"
    disabled>
    Guardar
</button>

[2] Con dropdown de reglas

<input type="password" name="password"
    data-ozi-auth-pass="bi bi-eye-slash,bi bi-eye"
    class="form-control">

<button type="submit"
    data-ozi-auth-submit
    data-ozi-auth-dropdown
    class="btn btn-secondary"
    disabled>
    Guardar
</button>

[3] Con campo de usuario

<input type="text" name="username"
    data-ozi-auth-user
    data-ozi-auth-user-caracter="4"
    class="form-control"
    placeholder="Nombre de usuario">

[4] Lista + Dropdown simultáneos

<button type="submit"
    data-ozi-auth-submit
    data-ozi-auth-list-id="reglasContrasena"
    data-ozi-auth-dropdown
    class="btn btn-secondary"
    disabled>
    Guardar
</button>

<div id="reglasContrasena"></div>

[5] Motor de validación vía JavaScript

Use oziAuth() de forma aislada para validar programáticamente:

const result = oziAuth({
    mail:        'user@correo.com',
    password:    'Contrasena@123',
    confirm:     'Contrasena@123',
    userCaracter: 4
});

if (result.access) {
    console.log('✔ Todo válido — ¡listo para enviar!');
} else {
    console.log('✘ Errores:', result);
}

Características

  • Motor aisladooziAuth() valida sin depender del DOM
  • Retroalimentación en tiempo real — reglas actualizadas en cada tecla
  • Toggle mostrar/ocultar — iconos personalizables en campos de contraseña
  • Lista de reglas — renderizada en contenedor configurable
  • Dropdown de reglas — mostrado al enfocar el campo de contraseña
  • Badge de conteo — muestra progreso en tiempo real (6/14 · faltan 2)
  • Orden de llenado — correo validado al escribir la contraseña
  • Iconos personalizables — estados válido/inválido configurables

Atributos HTML

[1] Campos

Atributo Descripción
data-ozi-auth-mail Campo de correo — valida formato y bloquea partes del correo en la contraseña
data-ozi-auth-pass="iconShow,iconHide" Campo de contraseña — activa toggle mostrar/ocultar
data-ozi-auth-confirm="iconShow,iconHide" Campo de confirmación — activa toggle mostrar/ocultar
data-ozi-auth-user Campo de usuario — valida longitud mínima
data-ozi-auth-user-caracter Mínimo de caracteres para el campo usuario

[2] Retroalimentación Visual

Atributo Descripción
data-ozi-auth-submit Botón de envío — habilitado/deshabilitado según validación
data-ozi-auth-list-id="id" ID del contenedor donde se renderizará la lista de reglas
data-ozi-auth-dropdown Activa dropdown de reglas en los campos de contraseña
data-ozi-auth-check="iconInvalid,iconValid" Iconos para los estados de regla — ej: bi bi-circle,bi bi-check2-circle
data-ozi-auth-class="classes" Reemplaza la clase por defecto en el botón mostrar/ocultar

[3] Reglas de Visualización

Configuración Comportamiento
Solo data-ozi-auth-submit Muestra dropdown por defecto
Solo data-ozi-auth-list-id Muestra lista en el contenedor indicado
Solo data-ozi-auth-dropdown Muestra dropdown
data-ozi-auth-list-id + data-ozi-auth-dropdown Lista + dropdown simultáneos

Validaciones

Usuario

  • Longitud mínima definida por data-ozi-auth-user-caracter

Correo electrónico

  • Formato válido: nombre@dominio.com

Contraseña

Regla Descripción
Longitud Entre 8 y 14 caracteres — badge en tiempo real
Minúscula Mínimo 1 letra minúscula
Mayúscula Mínimo 1 letra mayúscula
Número Mínimo 1 número
Especial Mínimo 1 carácter especial
Sin espacios No puede contener espacios
Sin partes del correo No puede contener prefijo o dominio del correo

Confirmación

  • Debe ser idéntica a la contraseña

Badge de Conteo

La regla passLength muestra progreso en tiempo real:

Estado Visualización
Sin escritura 0/14
Dentro del límite 6/14 · faltan 2
Límite alcanzado 8/14
Excedido 15/14 · excedido

Retorno del motor oziAuth()

{
    userValid:        true,  // usuario con mínimo de caracteres
    mailValid:        true,  // correo en formato válido
    passLength:       true,  // entre 8 y 14 caracteres
    passLowercase:    true,  // tiene letra minúscula
    passUppercase:    true,  // tiene letra mayúscula
    passNumber:       true,  // tiene número
    passSpecial:      true,  // tiene carácter especial
    passNoSpace:      true,  // sin espacios
    passNoEmailParts: true,  // contraseña no contiene partes del correo
    passConfirm:      true,  // confirmación igual a la contraseña
    access:           true   // true solo si todas las reglas se cumplen
}

API Pública

Método Descripción
window.oziAuth(data) Motor de validación aislado
window.oziAuthInit($scope) Inicializa en un ámbito
window.oziAuthInitFetched(root) Reinicializa tras render dinámico

Uso con contenido dinámico

// Después de insertar HTML en el DOM
window.oziAuthInitFetched($('#destino')[0]);

// O vía evento
$(document).trigger('oziAuth:initFetched', [rootElement]);