2011-10-25 6 views
0

시나리오가 있습니다. 페이지에 날짜가 있으며 체크 인 날짜가 있습니다. datepicker에 사용자 컨트롤을 사용했기 때문에 두 날짜를 동일한 사용자 컨트롤이라고합니다. 처럼, 날짜두 사용자 정의 컨트롤의 유효성 검사 비교

확인 : <uc:datepicker ID="CheckInDate" runat="server" /> 체크 아웃 날짜 : <uc:datepicker ID="CheckOutDate" runat="server" />

지금 내가 좋아하는 빈 안 두 날짜에 대한 검증을한다.

public class CustomiseDatePickerValidator : BaseValidator 
{ 

    protected override bool EvaluateIsValid() 
     { 
      Control c = this.FindControl(this.ControlToValidate); 
      DatePicker datepickerSelected = c as DatePicker; 
      ICustomiseRadDatePicker additionUserControl = (ICustomiseRadDatePicker)c.Parent; 

      if (string.IsNullOrEmpty(datepickerSelected.DateInput.Text)) 
      { 
       return false; 
      } 

      return true; 
     } 
} 

이 잘 작동하지만 난 그래서 내가 잘못 될 수 날짜

답변

0

을 확인 미만이어야합니다 체크인 날짜 모두 날짜 선택기 값을 비교도 원하지만, 난 당신이 이것에 대한 CompareValidator를 사용할 필요가 있다고 생각 . 내가 뭔가를 놓치고 있다면 나를 바로 잡으십시오.

+0

나는 그것을 알고 있지만 사용자 정의 컨트롤 안에있는 두 개의 datepicker를 확인해야합니다. –

+0

좋아요, 사실, UserControls의 유효성 검사 컨트롤을 사용하기 위해 해킹을 사용할 수 있습니다. 유효성 검사 컨트롤이 UserControl 내에 있지 않다는 것을 의미합니다. ControlToValidate = "uc1 : TextBox1"을 설정하십시오. 여기서 TextBox1은 서버의 이름입니다. 컨트롤을 UserControl 내에서 유효성을 검사 할 싶습니다. 나는 이것을 UserControl 내의 Textbox에 대한 RequiredValidator에 대해 성공적으로 수행 할 수있게되었습니다. 희망이 도움이됩니다. – Vasan

0

직접 CustomValidator에 대한 더 나은 솔루션은 사용자 컨트롤 클래스에 ValidationPropertyAttribute을 적용하는 것입니다 :

더 자세한 내용은이 질문을 참조하십시오. 그렇게하면 다른 컨트롤처럼 일반 ASP.NET 유효성 검사기를 사용자 정의 컨트롤에 사용할 수 있습니다.

관련 문제