2009-10-26 11 views
1

날짜를 가져 오기 위해 VB.net과 Jquery Datepicker를 사용하고 있습니다. 내 VB.net 코드VB.net에서 과거 날짜 및 오늘 날짜 만 허용.

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

에서

나는 형식 dd/mm/yyyy으로 사용자에게 단지 오늘 날짜 또는 과거 날짜를 입력 할 수 있도록합니다. 나는 vb.net 사용자 정의 유효성 검사를 원한다.

vb.net 정규 표현식을 작성하는 데 도움이됩니다.

답변

2

당신은 RangeValidator과 VB.NET 코드의 비트와 함께이 작업을 수행 할 수 있습니다

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

<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> 

은 당신의를 Page_Load에서 가장 가능성이 코드 숨김에서 검증의 범위를 설정

1

정규 표현식을 사용하지 않으려 고합니다.

서버 측에서이 작업을 수행하려는 경우 유효성 검사 컨트롤을 만드는 방법을 조사해야합니다. 나는 VB.NET에서이 작업을 한 적이 없다. 왜냐하면 VB.NET을 사용한 적은 한번도 없었으므로 C#이 더 편하다.하지만 this page은 좋은 출발점으로 보인다. BaseValidator 클래스의 메소드를 상속하고 오버라이드하려고합니다.

필자는 꼭 클라이언트 측 코드를 작성하지 않지만, jQuery가 form validation을 지원하는 것처럼 보입니다. 그러나 brad.huffman이 주석에서 지적했듯이 사용자의 날짜/시간 설정을 제어 할 수 없으므로 클라이언트 측에서 날짜/시간 유효성 검사를하지 않는 것이 좋을 수 있습니다. 올바르지 않을 수 있습니다.

+2

이 서버 측을 클라이언트 측으로하고 싶다면, 사용자 컴퓨터에 의존하여 날짜를 올바르게 설정해야합니다. –

관련 문제