Resumen de IA
Descripción
La acción wpforms_process_validate_richtext activa la validación en el campo de formulario Texto enriquecido 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/fields/class-base.php
Más Información
La acción se aplica a una matriz para el campo de formulario Texto enriquecido. Esta función se puede utilizar para todos los campos de formulario do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).
Por ejemplo, para usar esto en un campo de Correo electrónico, usaría do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data ).
Es importante tener en cuenta que los valores de los campos no se sanitizan hasta más tarde en el procesamiento, en wpforms_process_format_{$field_type}.
Ejemplos
Puede usar esta acción para escanear el Texto enriquecido en busca de una lista de palabras que le gustaría bloquear el envío del formulario, como lenguaje obsceno, o podría usar esta acción para buscar ciertas palabras que activen otra acción, como establecer un valor en un campo oculto de su formulario que pueda filtrar de las entradas.
En este ejemplo, vamos a buscar cualquier grosería en este campo. Si hay alguna grosería, el formulario mostrará un error y no se enviará.
/*
* Check the paragraph text field for profanity.
*
* @link https://wpforms.com/developers/wpforms_process_validate_richtext/
*
* @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.
*/
// Optional, you can limit to specific forms. Below, we restrict output to form #3382.
if ( absint( $form_data[ 'id' ] ) !== 3382 ) {
return $field_id;
}
function wpf_dev_profanity_filter_rich_text( $field_id, $field_submit, $form_data ) {
//Create your list of profanity words separated by commas
$blocked_words = array(
'badword1',
'badword2'
);
foreach( $blocked_words as $word ) {
if(strpos($field_submit, $word) !== FALSE ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'wpforms' );
return;
}
}
}
add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );