Validación de DNI (NIF), CIF, NIE en Contact Form 7 en functions.php
En el formulario de la ONG hay que validar que el NIF y NIE fueran correctos, el código para hacerlo es el siguiente.
1
2
3
4
5
6
7
8
9
10
11
12
13
function valida_nif_nie_cf7($result, $tag) {
if ( 'DNI' === $tag->name && !validDniCifNie($_POST['DNI']) ) {
$result->invalidate( $tag, __('Error en NIF/NIE') );
}
return $result;
}
add_filter('wpcf7_validate_text','valida_nif_nie_cf7', 5, 2);
add_filter('wpcf7_validate_text*', 'valida_nif_nie_cf7', 5, 2);
Usamos los métodos wpcf7_validate_text
y wpcf7_validate_text*
para llamar a la función valida_nif_nie_cf7
que le pasamos $result
y $tag
.
Una vez dentro, en el if
ponemos el campo que hemos puesto en el formulario de contacto, en este caso he pueso [DNI]
, por lo que en la condición paso DNI
, en otro caso he puesto en el formulario otro campo [cif]
, por lo que le tendría que pasar cif
. Ésta función de wpcf7_validate_text
cuando le pasmos el campo es case sensitive.
Después le pasamos el valor que ha introducido el usuario mediante $_POST['DNI']
a la función validDniCifNie
, que podemos ver en el post Función para validar DNI (NIF), CIF, NIE con PHP
Para terminar a $result
le asignamos el error que aparecerá debajo del campo.