Description
Le wpforms_process_validate_richtext
déclenche la validation de l'élément Texte enrichi lorsque le formulaire est soumis.
Paramètres
- $field_id
- (int) ID du champ.
- $field_submit
- (array) Valeur originale brute/non nettoyée soumise pour le champ.
- $form_data
- (tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.
Source
wpforms/includes/fields/class-base.php
Plus d'informations
L'action est appliquée à un tableau pour Texte enrichi champ de formulaire. 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 dans le cadre d'un Courriel vous utiliserez do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data )
.
Il est important de noter que les valeurs des champs ne sont assainies qu'à un stade ultérieur du traitement, à l'étape wpforms_process_format_{$field_type}
.le
Exemples
Vous pouvez utiliser cette action pour rechercher dans le texte enrichi une liste de mots dont vous souhaiteriez empêcher l'envoi par le formulaire, comme les grossièretés, ou 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 les grossièretés dans ce champ. Si c'est le cas, 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 );