J'ai le problème suivant lorsque je valide un champ avec le plugin Advanced Custom Fields dans wordpress. Ce qui se passe, c'est que le champ est validé correctement mais l'erreur apparaît sur une nouvelle page au lieu de sortir sur la même page au-dessus du champ sur lequel je valide. Le code à valider est le suivant:
function validate_fields_contact()
{
add_filter('acf/validate_value/name=phone_contact', 'validate_phone_number', 10, 4);
}
function validate_phone_number($valid, $value, $field, $input)
{
if (!$valid) {
return $valid;
}
if(!preg_match("/^\+XX(\s|\d){8,12}$/", $value)) {
return __('Incorrect Format.');
}
return true;
}
Cela devrait être comme ça:
C'est ce qui se passe
J'ai eu le même problème. Et j'ai perdu assez de temps pour la réponse.
Au début, soyez sûr que:
La demande ajax n'échoue pas et se produit. Alors, vérifiez:
(Regardez cette rubrique de support ACF aussi. Si vous utilisez acf_form () pour créer un nouvel utilisateur, consultez ce sujet ).
Mais dans mon cas, la racine était is_admin () dans cette ligne dans le crochet 'acf/validate_value':
if ( ! $valid || is_admin() ) { return $valid; }
Parce que is_admin () renvoie 'true' par AJAX request . Par conséquent, la fonction de validation n'a pas fonctionné.
J'espère que ce sera utile pour quelqu'un.