KI-Zusammenfassung
Beschreibung
Die wpforms_process_validate_richtext Aktion löst die Validierung für das Rich Text Formularfeld aus, wenn das Formular gesendet wird.
Parameter
- $field_id
- (int) Feld-ID.
- $field_submit
- (array) Ursprünglicher, unbereinigter Feldwert, der für das Feld übermittelt wurde.
- $form_data
- (array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.
Quelle
wpforms/includes/fields/class-base.php
Weitere Informationen
Die Aktion wird auf ein Array für das Rich Text Formularfeld angewendet. Diese Funktion kann für alle Formularfelder verwendet werden do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).
Um dies beispielsweise für ein E-Mail-Feld zu verwenden, würden Sie do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data ) verwenden.
Es ist wichtig zu beachten, dass Feldwerte erst später im Verarbeitungsprozess unter wpforms_process_format_{$field_type} bereinigt werden.die
Beispiele
Sie können diese Aktion verwenden, um das Rich Text nach einer Liste von Wörtern zu durchsuchen, die Sie blockieren möchten, damit das Formular nicht gesendet wird, wie z. B. Schimpfwörter, oder Sie könnten diese Aktion verwenden, um nach bestimmten Wörtern zu suchen, die eine andere Aktion auslösen, wie z. B. das Setzen eines Wertes in einem versteckten Feld Ihres Formulars, das Sie aus den Einträgen herausfiltern können.
In diesem Beispiel suchen wir nach Schimpfwörtern in diesem Feld. Wenn Schimpfwörter vorhanden sind, zeigt das Formular einen Fehler an und sendet nicht.
/*
* 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 );