반응형
ASP.NET 유효성 검사기를 사용한 날짜 유효성 검사
ASP.NET을 사용하려고 합니다.RangeValidator
텍스트 상자의 날짜를 확인합니다.텍스트 상자에 입력한 날짜 형식은 다음과 같습니다.dd MMMM yyyy
.
유효한 날짜를 확인하기 위해 범위 검증기를 사용하는 방법은 무엇입니까?최소값으로 1월 1일 1000을 입력하면 값을 형식 날짜로 변환할 수 없다는 오류가 발생하지만 다른 형식을 사용하면 입력한 텍스트가 잘못된 것으로 선택됩니다.
내 코드는 다음과 같습니다.
<asp:TextBox
runat="server"
ID="txtDatecompleted"
/>
<cc2:CalendarExtender
ID="datecompletedExtender"
runat="server"
TargetControlID="txtDatecompleted"
Format="dd MMMM yyyy"
/>
<asp:RangeValidator
runat="server"
ID="RangeValidator1"
Type="Date"
ControlToValidate="txtDatecompleted"
MaximumValue="9999/12/28"
MinimumValue="1000/12/28"
ErrorMessage="enter valid date"
Display="None"
/>
<cc2:ValidatorCalloutExtender
ID="RangeValidator1_ValidatorCalloutExtender"
runat="server"
Enabled="True"
TargetControlID="RangeValidator1">
</cc2:ValidatorCalloutExtender>
최선의 선택은 다음과 같습니다.
웹 양식에 비교 검증자를 추가합니다.컨트롤을 검증으로 설정합니다.유형 속성을 날짜로 설정합니다.연산자 속성을 DataTypeCheck(예:
<asp:CompareValidator
id="dateValidator" runat="server"
Type="Date"
Operator="DataTypeCheck"
ControlToValidate="txtDatecompleted"
ErrorMessage="Please enter a valid date.">
</asp:CompareValidator>
Custom Validator는 여기서도 작동합니다.
<asp:CustomValidator runat="server"
ID="valDateRange"
ControlToValidate="txtDatecompleted"
onservervalidate="valDateRange_ServerValidate"
ErrorMessage="enter valid date" />
코드백:
protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime minDate = DateTime.Parse("1000/12/28");
DateTime maxDate = DateTime.Parse("9999/12/28");
DateTime dt;
args.IsValid = (DateTime.TryParse(args.Value, out dt)
&& dt <= maxDate
&& dt >= minDate);
}
저는 다음과 같이 하는 것이 가장 쉬운 방법이라고 생각합니다.
<asp:TextBox ID="DateControl" runat="server" Visible="False"></asp:TextBox>
<asp:RangeValidator ID ="rvDate" runat ="server" ControlToValidate="DateControl" ErrorMessage="Invalid Date" Type="Date" MinimumValue="01/01/1900" MaximumValue="01/01/2100" Display="Dynamic"></asp:RangeValidator>
저는 현재 신청 문화에서 날짜가 명시되어야 한다고 생각합니다.문화 설정을 시도해 보는 것이 좋을 것입니다.불변값 참을 선택하고 문제가 해결되는지 확인합니다.그렇지 않으면 현재 문화(또는 문화 자체)에 대한 날짜 시간 형식을 변경하여 원하는 내용을 얻을 수 있습니다.
언급URL : https://stackoverflow.com/questions/939802/date-validation-with-asp-net-validator
반응형
'source' 카테고리의 다른 글
문자열에서 부동 숫자를 추출하는 방법 (0) | 2023.07.18 |
---|---|
관리자 전체에서 사용할 수 있도록 장고 앱에 자세한 이름을 지정할 수 있습니까? (0) | 2023.07.18 |
"j = ++(i | i); 및 j = ++(i & i);" 식은 값 오류여야 합니까? (0) | 2023.07.18 |
Python에서 체인 메서드 호출 들여쓰기 스타일 (0) | 2023.07.18 |
ORACLE/SQL Server의 마이너스와 예외 차이 (0) | 2023.07.18 |