Schema-Woven Validation

Schema-Woven Validation (SWV) es el mecanismo de validación de formularios web de nueva generación que utiliza Contact Form 7.

¿Qué problemas resuelve?

En los primeros días de la World Wide Web, tanto el servidor web que proporcionaba el formulario como el que recibía los datos enviados eran la misma entidad: el servidor web. Este sabía naturalmente cómo debía procesar los datos introducidos en el formulario, ya que él mismo lo había creado.

Esto no supuso ningún problema hasta que HTML5 introdujo la validación de formularios en el lado del cliente. La validación en el lado del cliente permite comprobar rápidamente el valor de un campo cuando el usuario lo introduce. Aunque esto mejora la experiencia del usuario, no sustituye a la validación en el lado del servidor. La validación del formulario sigue teniendo que ejecutarse en el servidor, pero ahora hay dos entidades distintas que participan en ella: el servidor web y el cliente (navegador).

La expansión de los CMS headless y de otros tipos de arquitecturas desacopladas ha complicado aún más la situación. En estas arquitecturas, no es raro que haya varias entidades involucradas en el procesamiento de los formularios web. Además, como no existe un método estandarizado para validar formularios, es posible que estas entidades no sepan cuál es la forma correcta de validar los datos introducidos. Schema-Woven Validation (SWV) resuelve este problema.

SWV proporciona un lenguaje de esquemas en formato JSON que define la estructura esperada de los datos introducidos por el usuario. Con SWV, puedes implementar formularios web de forma segura sin renunciar a las ventajas de las arquitecturas web modernas.

Ejemplo

Este es un ejemplo de un esquema SWV creado para el formulario de contacto predeterminado.

{
    "version": "Contact Form 7 SWV Schema 2022-03",
    "locale": "es_ES",
    "rules": [
        {
            "rule": "required",
            "field": "tu-nombre",
            "error": "Por favor, completa este campo."
        },
        {
            "rule": "required",
            "field": "tu-apellido",
            "error": "Por favor, completa este campo."
        },
        {
            "rule": "email",
            "field": "tu-email",
            "error": "Por favor, introduce una dirección de correo electrónico."
        },
        {
            "rule": "required",
            "field": "tu-asunto",
            "error": "Por favor, completa este campo."
        }
    ]
}

Tipos de reglas compatibles

Consulta los Tipos de reglas predefinidos.

Esquema del «schema»

Consulta Meta schema.

Just another contact form plugin for WordPress. Simple but flexible.