2009-10-26 4 views
1

J'utilise VB.net ainsi que Jquery Datepicker pour obtenir des dates.Autoriser uniquement la date et la date du jour dans VB.net

Dans mon code VB.net

<tr> 
    <td> 
     DateOfReceiving: 
    </td> 
    <td colspan="3"> 
     <asp:TextBox ID="DateOfReceivingTextBox" runat="server" 
        CssClass="pastdatepicker" 
        Text="DateOfReceiving" /> 
    </td> 
</tr> 

Je veux permettre à saisir l'utilisateur que la date d'aujourd'hui ou date passée avec le format dd/mm/yyyy. Je veux la validation personnalisée de vb.net pour cela.

Veuillez nous aider à écrire l'expression régulière de vb.net.

Répondre

2

Vous pouvez faire cela avec un RangeValidator et un peu de code VB.NET:

<tr>  
    <td>DateOfReceiving:</td> 
    <td colspan="3"> 
     <asp:TextBox ID="DateOfReceivingTextBox" runat="server" 
        CssClass="pastdatepicker" 
        Text="DateOfReceiving" /> 

     <asp:rangevalidator runat="server" ID="DateRangeValidator" 
          ControlToValidate="DateofReceivingTextBox" 
          ErrorMessage="Date must be in the past" 
          Display="Dynamic" Type="Date" /> 

    </td> 
</tr> 

Définissez la plage pour le validateur dans votre code-behind, très probablement dans votre Page_Load:

DateRangeValidator.MinimumValue = Date.MinValue.ToString("yyyy/MM/dd") 
DateRangeValidator.MaximumValue = Date.Today.ToString("yyyy/MM/dd") 
1

Vous ne voudrez pas utiliser une expression régulière pour cela. Si vous voulez faire ce côté serveur, vous devriez envisager de créer des contrôles de validation. Je n'ai jamais fait cela dans VB.NET (simplement parce que je n'ai jamais utilisé VB.NET - je suis plus à l'aise avec C#), mais this page semble être un bon point de départ. Vous allez vouloir hériter et remplacer les méthodes de la classe BaseValidator.

Je n'écris généralement pas de code côté client sauf si je dois le faire, mais il semble que jQuery prenne également en charge form validation. Cependant, comme brad.huffman l'a souligné dans les commentaires, vous voudrez probablement éviter de faire la validation date/heure du côté client car vous ne pouvez pas contrôler les paramètres date/heure de votre utilisateur - ils pourraient être incorrects.

+2

Vraiment vouloir faire de ce côté serveur côté client, vous seriez en s'appuyant sur la machine de l'utilisateur pour avoir la date définie correctement. –

Questions connexes