Résumé de l'IA
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 );