KI-Zusammenfassung
Beschreibung
Die wpforms_process_validate_textarea Aktion löst die Validierung für das Formularfeld Absatztext 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 wpforms_process_validate_textarea Aktion wird auf ein Array für das Formularfeld Absatztext 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 den Absatztext nach einer Liste von Wörtern zu durchsuchen, die Sie daran hindern möchten, dass das Formular 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_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 );
Verwandt
Artikelreferenzen: