Résumé IA
Description
L'action wpforms_process_validate_richtext déclenche la validation du champ de formulaire Rich Text lors de la soumission du formulaire.
Paramètres
- $field_id
- (int) ID du champ.
- $field_submit
- (array) Valeur brute/non assainie d'origine soumise pour le champ.
- $form_data
- (array) Paramètres/données du formulaire traités, préparés pour une utilisation ultérieure.
Source
wpforms/includes/fields/class-base.php
Plus d'informations
L'action est appliquée à un tableau pour le champ de formulaire Rich Text. Cette fonction peut être utilisée pour tous les champs de formulaire do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).
Par exemple, pour l'utiliser pour un champ Email, vous utiliseriez do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data ).
Il est important de noter que les valeurs des champs ne sont pas assainies avant plus tard dans le processus, à wpforms_process_validate_{$field_type}.le
Exemples
Vous pouvez utiliser cette action pour rechercher dans le Rich Text une liste de mots que vous souhaitez bloquer lors de l'envoi du formulaire, tels que des grossièretés, ou vous pourriez utiliser cette action pour rechercher certains mots qui déclencheraient une autre action, comme la définition d'une valeur dans un champ caché de votre formulaire que vous pouvez filtrer à partir des entrées.
Dans cet exemple, nous allons rechercher toute grossièreté dans ce champ. S'il y a des grossièretés, le formulaire affichera une erreur et ne sera pas envoyé.
/*
* 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 );