我有场景,页面包含签入日期和签出输入日期。我对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;
}
}
这个工作正常,但我想比较两个datepicker值所以入住日期应该小于退房日期
答案 0 :(得分:0)
我可能错了,但我认为你需要使用CompareValidator。如果我错过了什么,请纠正我
答案 1 :(得分:0)
使用CustomValidator
可能会更容易。使用CustomValidator
,您可以指定自己的客户端验证逻辑。
有关详细信息,请参阅此问题:
ASP.NET Custom Validator Client side & Server Side validation not firing
答案 2 :(得分:0)
CustomValidator的更好解决方案是将ValidationPropertyAttribute应用于用户控件类。这样,您就可以像使用任何其他控件一样对用户控件使用普通的ASP.NET验证器。