J'utilise 1000hz Bootstrap Validator pour valider les champs de mon formulaire de contact. J'utilise data-pattern
sur un champ d'email pour m'assurer que le format est correct. Je souhaite écrire une validation de modèle de données dans laquelle je n'autorise pas les adresses électroniques ou les URL dans un champ de texte unique.Validation Bootstrap: Comment écrire une REGEX négative pour le modèle de données?
Je suis en train de programmer en Ruby et j'écrirais normalement une logique comme celle-ci pour valider un champ de texte en dehors du formulaire.
if params[:message] =~ /myemailregexpattern/i || params[:message] =~ /myurlregexpattern/
display error message
Fondamentalement, je veux faire quelque chose comme ce qui suit où il identifiera une valeur de champ comme valide si les matchs ne sont pas trouvées pour les deux modèles regex.
"data-pattern" => "**--negate--**myemailregexpattern**--and---**myurlregexpattern"
OU
"data-pattern" => "**--negate--**((myemailregexpattern)|(myurlregexpattern))"
Après avoir lu plusieurs messages ici et sur plusieurs blogs de référence proposés et les sites Web que je ne l'ai pas trouvé d'exemples où est réduit à néant une regex entière. J'ai pensé que je pourrais être en mesure d'utiliser un lookaround mais il n'était pas clair si cela fonctionnerait ou comment écrire l'expression rationnelle.
Y a-t-il une raison pour laquelle vous ne pouvez pas annuler la comparaison? Utilisez '! ~' Au lieu de '= ~', ou '! (Expression)', etc. –
J'ai vu | pour la ou la condition utilisée. J'ai vu des exemples de conditions d'if-then-else dans la regex. Je n'ai pas vu! ~ Ou! utilisé dans les expressions regex. Je vais essayer cela et voir si cela fonctionne. –
Ce ne sont pas des opérateurs regex. Je parle de la logique externe qui effectue la correspondance regex. Peut-être que si vous fournissiez plus de contexte autour de ce que vous essayez de faire? –