Je validation d'un champ de texte sous ma forme comme suit:message d'erreur personnalisé significatif pour Zend RegEx Validator
$name = new Zend_Form_Element_Text('name');
$name->setLabel('First Name:')
->setRequired(true)
->addFilter(new Zend_Filter_StringTrim())
->addValidator('regex',true,array('/^[(a-zA-Z0-9)]+$/'))
->addErrorMessage('Please enter a valid first name');
Ce que je suis en train d'accomplir est - comment puis-je afficher un message d'erreur significatif? Par exemple: Si le prénom est 'XYZ-', comment puis-je afficher '- n'est pas autorisé dans le prénom.'
Y a-t-il un moyen d'accéder au caractère de l'expression régulière? Recommanderiez-vous quelque chose d'autre?
J'ai pensé écrire un validateur personnalisé, mais la regex est assez simple, donc je ne vois pas l'intérêt. Je n'ai trouvé nulle part une documentation décente pour le validateur zend 'regex'.
Si je ne l'emporte pas sur le message d'erreur par défaut, je reçois simplement quelque chose comme: ';;; hhbhbhb' ne correspond pas contre modèle «/^ [(a-zA-Z0-9)] + $/'- que je ne veux évidemment pas afficher à l'utilisateur.
J'apprécierais vos entrées.
Salut, c'était juste un exemple ... pourrait être n'importe quel domaine (pas nécessairement le prénom), mais est un exemple du problème im face à c'est tout .. –
Je crois qu'il demandait * comment * mettre un message, pas quel message mettre. –
@Marcus Downing: Je ne pense pas. Elle sait déjà comment mettre en place un message (voir son exemple de code), et elle voulait savoir comment générer un message «personnalisé» pour l'entrée de l'utilisateur. Ce que j'ai déconseillé. –