반응형
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 |