2009-09-22 5 views
0

J'ai un problème de regex sur lequel j'ai besoin de conseils. J'utilise un plugin jquery qui valide les champs de saisie sur une JSP. J'utilise la validation de la date. Tout fonctionne bien mais ce champ n'est pas obligatoire et n'est pas marqué comme requis. Lorsque l'utilisateur clique sur Envoyer, il affiche un avertissement sur le champ de saisie de la date car la chaîne vide ne correspond pas à la validation d'une date. J'ai besoin d'un moyen de dire que rien ou une date n'est valide dans une regex.regex - format de date OU non spécifié/vide

Voici la regex pour la date; est-il possible de mettre "ou vide" dans ce aussi:

"date":{ 
      "regex":"/^[0-9]{1,2}\-\[0-9]{1,2}\-\[0-9]{4}$/", 
      "alertText":"* Invalid date, must be in MM-DD-YYYY format"}, 

Merci à l'avance

Répondre

0

Essayez:

/^([0-9]{1,2}\-\[0-9]{1,2}\-\[0-9]{4})?$/ 

Il sera alors correspondre à quand une date valide est fournie, ou le champ est laissé vide.

+0

Cela a fonctionné, merci un million! – Caroline

+0

De rien, je suis heureux de vous aider. :) –

0

(^ [0-9] {1,2} - [0-9] {1,2 } - [0-9] {4} $ |^$)

+0

Merci pour la réponse rapide. Quand j'essaie de ne pas faire la validation du tout et firebug me montre l'erreur de syntaxe (^ [0-9] {1,2} - [0-9] {1,2} - [0-9] {4 } $ |^$) – Caroline

+0

Il s'agit d'une syntaxe regex standard "altération" (a | b) qui correspond à a ou b. donc je ne sais pas pourquoi vous obtenez une erreur de syntaxe. – ennuikiller

+0

moi non plus, j'avais déjà essayé quelques options comme ça et je recevais le même problème. Je soupçonne que le plugin jquery est drôle en termes de ce qu'il attend, peut-être n'aime pas le "ou" du tout. Merci d'avoir aidé! – Caroline