Resumen de IA
Descripción
La acción wpforms_process_validate_email activa la validación en el campo de formulario Dirección de correo electrónico cuando se envía el formulario.
Parámetros
- $field_id
- (int) ID del campo.
- $field_submit
- (array) Valor original sin procesar/sanitizar del campo enviado.
- $form_data
- (array) Configuración/datos del formulario procesados, preparados para ser utilizados más adelante.
Origen
wpforms/includes/class-process.php
Más Información
La acción wpforms_process_validate_email se aplica a una matriz para el campo de formulario Dirección de correo electrónico. Esta función se puede utilizar para todos los campos del formulario do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).
Por ejemplo, para usar esto en un campo de Texto de una sola línea, usaría do_action( wpforms_process_validate_text, $field_id, $field_submit, $form_data ).
Es importante tener en cuenta que los valores de los campos no se limpian hasta más adelante en el procesamiento, en wpforms_process_format_{$field_type}.
Ejemplos
Puede usar esta acción para escanear la Dirección de correo electrónico en busca de una dirección de correo electrónico específica que hayamos marcado previamente como spam para que pueda ser bloqueada.
/*
* Check the email address field for blocked emails.
*
* @link https://wpforms.com/developers/wpforms_process_validate_email/
*
* @param int $field_id Field ID.
* @param array $field_submit Unsanitized field value submitted for the field.
* @param array $form_data Form data and settings.
*/
function wpf_dev_block_email_address( $field_id, $field_submit, $form_data ) {
//Create your list of blocked email addresses separated by commas
$blocked_emails = array(
'[email protected]',
'[email protected]'
);
foreach( $blocked_emails as $email ) {
if(strpos($field_submit, $email) !== FALSE ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Your email address has been flagged as spam. Please contact the site administrator directly if you have further questions.', 'wpforms' );
return;
}
}
}
add_action( 'wpforms_process_validate_email', 'wpf_dev_block_email_address', 10, 3 );
Relacionado
Referencia del artículo: Cómo crear una lista negra global