Résumé IA
Description
L'action wpforms_process_validate_textarea déclenche la validation du champ de formulaire Texte de paragraphe 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 wpforms_process_validate_textarea est appliquée à un tableau pour le champ de formulaire Texte de paragraphe. 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 Texte de paragraphe 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_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 );
Articles associés
Références d'articles :