2012-10-22 5 views
0

사용자가 시간을 입력 할 수있는 TextBox 및 AjaxControlToolkit MaskedEditExtender가 있습니다. 컨트롤은 코드의 timespan 속성 (및 SQL Server의 time (7) 열)에 바인딩됩니다. 요구 사항은 모든 시간이 1800h ~ 0000h (박쥐 기록 용)인지 확인하는 것입니다. 누구든지 MaskedEditValidator를 사용하여 입력 한 시간이이 범위에 있는지 확인하는 방법을 제안 할 수 있습니까? 지금까지범위 내에서 시간 확인

내 코드 :

<asp:TextBox ID="txtEmergenceTime" runat="server" CssClass="formInput" 
    Text='<%# Eval("EmergenceTime", "{0:hh\:mm}") %>' /> 
<asp:MaskedEditExtender ID="meeEmergenceTime" runat="server" 
    TargetControlID="txtEmergenceTime" Mask="99:99" MaskType="Time" 
    AutoComplete="false" AutoCompleteValue="0"/> 
<asp:MaskedEditValidator ID="valEmergenceTime" runat="server" 
    ErrorMessage="Emergence time must be between 18:00 and 00:00" 
    CssClass="error" ControlToValidate="txtEmergenceTime" 
    ValidationGroup="roostCount">*</asp:MaskedEditValidator> 

답변

1

당신은 23:59 18:00 간격을 설정하고 MaskedEditValidato의 MinimumValueMaximumValue 속성을 사용할 수있다. 또는 유효성 검사기 익스텐더에 대해 ClientValidationFunction 속성을 정의하고 사용자 지정 유효성 검사를 사용할 수 있습니다.

+0

포인터를 보내 주셔서 감사합니다. 위의 서버 컨트롤에 대한 구문이 올바르지 않습니다 (예 : ControlExtender 속성 없음). 하지만이를 수정 한 후에도 MinimumValue 및 MaximumValue를 사용하여 표시 할 오류 메시지를 가져올 수 없습니다. 18:99 범위를 벗어난 값을 입력하면 양식이 업데이트되지 않습니다. 유효성 검사 요약에 표시 할 오류 메시지를 가져올 수도 없습니다. 많은 사람들이이 유효성 검사 컨트롤에 문제가있어 바닐라 CustomValidator 대신 사용할 수 있습니다 (성공적 일 경우 질문 업데이트). – andyb