powermates
Respuestas de foro creadas
-
Foro: Plugins y Hacks
En respuesta a: ¿Registro de usuarios por DNI?Hola,
Gracias por la respuesta, quería comentar que instalé el plugin indicado y vi que soportaba validaciones propias con las que validar el DNI.La documentación está aquí:
https://docs.ultimatemember.com/article/94-apply-custom-validation-to-a-fieldDe todas formas para ir al grano diré lo que hice en el plugin:
-Editar el formulario por defecto de registro
-Añadir un campo DNI personalizado con lo siguiente:
Validar: Validación personalizada
Acción personalizada: Ponemos por ejemplo: dni(Esto llamará a un hook llamado um_custom_field_validation_dni creado por código)
Seguidamente nos dirigimos a la carpeta wp-content/themes/<tema usado> y editamos el fichero functions.php, y al final del archivo añadimos lo siguiente:
/** * Validar campo DNI * @param string $key * @param attay $array * @param array $args */ function um_custom_validate_dni($key, $array, $args){ $letra = substr($args[$key], -1); $numeros = substr($args[$key], 0, -1); if ( isset( $args[$key]) && substr("TRWAGMYFPDXBNJZSQVHLCKE", $numeros%23, 1) == $letra && strlen($letra) == 1 && strlen ($numeros) == 8 ){ //UM()->form()->add_error( $key, __( 'DNI VALIDO.', 'ultimate-member' ) ); }else{ UM()->form()->add_error( $key, __( 'DNI INCORRECTO, utilice formato: Ocho números y letra mayúscula.', 'ultimate-member' ) ); } } add_action( 'um_custom_field_validation_dni', 'um_custom_validate_dni', 30, 3 );
Con esto, cuando insertemos un nuevo usuario, si el DNI no es válido no dejará registrar al usuario e informará de ello. He dejado el comentario si queréis hacer pruebas. Básicamente, si llama a add_error, muestra el error y no deja validar el formulario. Si no hay nada (o está comentado), continúa.
Un saludo