Contact Form 7 ist das beliebteste und durch die vielen Freiheiten die man hat auch eines der mächtigsten Formular-Plugins die es in Wordpress gibt.
Hier ein kleines Beispiel für die Validierung eines Dropdowns / Select - Es wird geprüft ob ein Wert ausgewählt wurde
// Filter für normales Select anmelden
add_filter( 'wpcf7_validate_select', 'select_validation_filter', 20, 2 );
// Filter für Pflichtfeld Select anmelden
add_filter( 'wpcf7_validate_select*', 'select_validation_filter', 10, 2 );
function select_validation_filter( $result, $tag ) {
// Gibt es das Feld "mySelect"
if ( $tag->name == 'mySelect') {
// Werte holen
$standort = isset( $_POST['mySelect'] ) ? trim( $_POST['mySelect'] ) : '';
// Wenn value="" dann Fehler melden
if( $standort == '' ) {
$result->invalidate( $tag, "Bitte Wert auswählen!" );
}
}
// Wertrückgabe
return $result;
}
Analog zu dem wpcf7_validate_select gibt es zahlreiche weitere Filter.... text, text*, textarea, textarea*, email, etc...
Hilfreiche Links:
https://wpformular.de/formularelemente/auswahllisten-in-contact-form-7-formularen-328
https://torstenlandsiedel.de/2018/06/17/custom-validation-fuer-postleitzahlen-bei-contact-form-7/