2009-08-31 8 views
1

Je souhaite valider la zone de texte afin qu'elle accepte uniquement la date future. Puis-je avoir une expression régulière pour le même. J'utilise vb.net pour coder.Expression régulière VB.NET pour date future

Merci.

Cordialement, Manoj

+0

@Manoj: utilisez des balises pour spécifier la technologie utilisée (wpf/winforms/asp.net); cela vous donnera des réponses plus précises. –

Répondre

5

Pourquoi utiliser une expression régulière? Ne serait-il pas plus facile d'analyser la date entrée par l'utilisateur dans un DateTime puis de la comparer à DateTime.Now pour s'assurer qu'elle est plus grande?

est un exemple:

Imports System 

Class Test 
    Private Shared Sub Main() 
        Console.WriteLine(isFutureDate("5/16/1984")) 
        Console.WriteLine(isFutureDate("5/16/2010")) 
    End Sub 
    
    Private Shared Function isFutureDate(ByVal candidate As String) As Boolean 
        Dim future As DateTime 
        
        DateTime.TryParse(candidate, future) 
        
        Return future > DateTime.Now 
    End Function 
End Class 
2

Je suppose que vous voulez une expression régulière afin que vous puissiez avoir côté client valide? Vous seriez mieux avec un validateur personnalisé, avec le côté côté serveur et le code côté client. Vous pouvez définir le code côté client à l'aide de la propriété ClientValidationFunction sur le validateur personnalisé.

Pour le code côté client que vous feriez quelque chose Embed comme le script suivant dans votre page (à partir du haut de ma tête, pas vérifié)

<script language="JavaScript"> 
<!-- 
    function CheckPrime(sender, args) 
    { 
    var currentDate = new Date(); 
    var enteredDate = new Date(args.Value); 

    if (enteredDate > currentDate) 
     args.IsValid = true; 
    else 
     args.IsValid = false; 
    } 
// --> 
</script> 

pour le côté serveur que vous feriez la vérification normale vous voulez en VB. La vérification du serveur sera toujours exécutée, quels que soient les résultats du script client.

+0

Comment vais-je utiliser ce code pour la zone de texte de date? Puis-je avoir le même code? –

+0

Tous les clients ne sont pas des clients Web. –

+0

Ah, c'est vrai, l'exigence d'expression régulière m'a fait penser qu'il essaie d'utiliser un validateur ASP.NET standard regex – blowdart

Questions connexes