Cum să validezi câmpul de nume în Contact Form 7 pentru a accepta doar litere?

17 iul. 2017, 09:45:44
Vizualizări: 17.6K
Voturi: -1

Folosesc pluginul contact-form-7, unde am creat un câmp name pentru Nume.

Câmpul name acceptă atât text cât și numere. Dar am nevoie ca câmpul să nu permită numere la început. Cum pot face ca câmpul de nume să accepte doar litere?

[text* your-name placeholder "Nume complet"]

Am căutat pe Google și am vizitat și suportul Contact Form 7, dar nu am reușit să rezolv problema.

2
Comentarii

Ai citit deja ghidul pentru dezvoltatori privind validarea personalizată? De asemenea, dacă numele meu este ceva de genul „kero al 3-lea”, nu voi putea trimite formularul tău (pentru că conține un număr)?

kero kero
17 iul. 2017 10:08:33

cerința mea este, câmpul Nume nu ar trebui să accepte nume care încep cu cifră, nu în mijloc sau după prima literă.. @kero

Rajendra Rajendra
17 iul. 2017 10:29:56
Toate răspunsurile la întrebare 1
0

Conform documentației, trebuie să creați un filtru personalizat pentru a-l susține - puteți face asta în felul următor:

add_filter( 'wpcf7_validate_text*', 'custom_text_validation_filter', 20, 2 );

function custom_text_validation_filter( $result, $tag ) {
    if ( 'your-name' == $tag->name ) {
        // potrivește orice cuvinte utf care nu încep cu un număr
        $re = '/^[^\p{N}][\p{L}]*/i';

        if (!preg_match($re, $_POST['your-name'], $matches)) {
            $result->invalidate($tag, "Acesta nu este un nume valid!" );
        }
    }

    return $result;
}
17 iul. 2017 10:10:18