Description
Le wpforms_process_validate_textarea
déclenche la validation de l'élément Texte du paragraphe 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
Le wpforms_process_validate_textarea
est appliquée à un tableau pour Texte du paragraphe 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 du paragraphe une liste de mots dont vous aimeriez empêcher l'envoi au formulaire, tels que les blasphèmes, 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_textarea/ * * @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 ID #1423. if ( absint( $form_data[ 'id' ] ) !== 1423 ) { return; } function wpf_dev_profanity_filter_paragraph( $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_textarea', 'wpf_dev_profanity_filter_paragraph', 10, 3 );
En rapport
Références de l'article :