2010-11-29 6 views
1

Je souhaite implémenter une validation d'une propriété en utilisant l'attribut RegularExpression pour vérifier si l'heure saisie par l'utilisateur est arrondie au quart d'heure le plus proche (02:15, 02:00 , 02: 45, 02:30 match mais pas 02:12).Validation MVC, expression régulière pour une heure arrondie

J'ai essayé le suivant, mais cela ne fonctionne pas.

[RegularExpression("([0-1][0-9]|[2][0-3]):(([0][0])|([1][5]|[3][0]|[4][5]))] 
public DateTime StartHour { get; set; } 

Quelqu'un peut-il m'aider?

Merci d'avance et désolé pour mon mauvais anglais.

+0

Vous avez oublié de fermez la chaîne RegularExpression? '[RegularExpression (" ([0-1] [0-9] | [2] [0-3]): (([0] [0]) | ([1] [5] | [3] [0 ] | [4] [5]) ")]' ou peut-être juste une faute de frappe – hunter

+0

Il n'y a rien de mal avec votre anglais –

Répondre

3

([01][0-9]|[2][0-3]):(00|15|30|45) devrait fonctionner.

+0

Bien sûr, vous n'avez pas non plus besoin de parenthèses autour de '' 2' ' –

+0

Oui bien sûr. @Pandore, accepteriez-vous ma réponse si vous allez l'utiliser? Cliquez simplement sur la coche –

0

^([01][0-9]|2[0-3]):(00|15|30|45)$ devrait fonctionner; ^ = début de la chaîne ([01][0-9]|2[0-3]) = (0 ou 1 suivi de 0-9) ou 2 suivi par deux points 0-3 littérale suivi par l'un des 00, 15, 30 ou 45 $ = fin de la chaîne

+0

Je l'ai essayé mais j'ai reçu un message d'erreur de validation dans les deux cas si la valeur correspond ou non (par exemple 10:15 et 10 : 10) J'ai aussi essayé d'ajouter "-" entre 0 et 1 dans [01], mais ça ne marche toujours pas. – Pandore

Questions connexes