2011-10-25 6 views
0

私はシナリオを持っています。ページにはチェックイン日付とチェックアウト日付があります。私はdatepickerのユーザーコントロールを使用していたので、両方の日付を同じユーザーコントロールと呼びます。 と同様に、日中2つのカスタムコントロールの妥当性確認を比較

チェック:<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を使用する必要があると思う。これは正常に動作しているが、私はまた、両方のDatePickerの値を比較したいです。私が何かが欠けている場合私を修正してください

+0

私は知っていますが、私はユーザーコントロールの内部にある2つの日付ピッカーを検証する必要があります。 –

+0

OK、実際には、UserControlsの検証コントロールを使用するためのハックを使用することができます。つまり、検証コントロールがUserControl内にないことを意味します。ControlToValidate = "uc1:TextBox1"を設定してください。TextBox1はサーバーの名前あなたはUserControl内のthatsを検証したいコントロール。私は正常にUserControl内のテキストボックスでRequiredValidatorのために動作するようになっている。お役に立てれば。 – Vasan

0

より良い解決策は、ユーザーコントロールクラスにValidationPropertyAttributeを適用することです。そうすれば、他のコントロールと同じように、通常のASP.NETバリデータをユーザーコントロールに対して使用することができます。