Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将验证器与动态变化的区域性C进行比较#_C#_.net_Validation - Fatal编程技术网

C# 将验证器与动态变化的区域性C进行比较#

C# 将验证器与动态变化的区域性C进行比较#,c#,.net,validation,C#,.net,Validation,我想比较开始日期和结束日期,即开始日期应小于结束日期。我正在动态更改页面区域性。但是,比较验证程序仅以dd/mm/yyyy格式比较日期 这是我使用的覆盖方法: protected override void InitializeCulture() { string datetimeculture = "en-US"; // default lang if (Session["datetimeculture"] != null) { datetimecul

我想比较开始日期和结束日期,即开始日期应小于结束日期。我正在动态更改页面区域性。但是,比较验证程序仅以dd/mm/yyyy格式比较日期

这是我使用的覆盖方法:

 protected override void InitializeCulture()
{
    string datetimeculture = "en-US"; // default lang
    if (Session["datetimeculture"] != null)
    {
        datetimeculture = Session["datetimeculture"].ToString();
    }

    this.UICulture = datetimeculture;
    this.Culture = datetimeculture;
    base.InitializeCulture();
}
这是比较验证器

<asp:CompareValidator ID="DateCompare" runat="server" ControlToCompare="txtfaredate_to" 
ControlToValidate="txtfaredate_from" ForeColor="Red" Type="Date" Operator="LessThanEqual" display="Dynamic"
CssClass="failureNotification" ErrorMessage="The Fare Date form must not match the Fare Date to."
ValidationGroup="basic">To Date cannot be less than From Date.</asp:CompareValidator>
截止日期不能小于起始日期。
有什么办法吗


谢谢,

尝试设置Validator控件的ValueToCompare属性。大概是这样的:

<asp:CompareValidator ID="DateCompare" runat="server" 
   ControlToCompare="txtfaredate_to" 
   ControlToValidate="txtfaredate_from"
   ValueToCompare="<%# DateTime.Now.ToString(\"dd-MM-yyyy\") %>" //adjust to your needs 
   ForeColor="Red" 
   Type="Date" 
   Operator="LessThanEqual" 
   display="Dynamic"
   CssClass="failureNotification" 
   ErrorMessage="The Fare Date form must not match the Fare Date to."
   ValidationGroup="basic">To Date cannot be less than From Date.
</asp:CompareValidator>
截止日期不能小于起始日期。

我使用自定义验证器来解决我的问题

<asp:CustomValidator ID="DateCompare" runat="server" ControlToValidate="txtfaredate_to" EnableClientScript="true" ForeColor="Red" display="Dynamic"
 ErrorMessage="To Date cannot be less than From Date." ClientValidationFunction="fncClientCheckDate"></asp:CustomValidator>

客户端代码:

 function fncClientCheckDate(sender, args) {
        var todate = dateToYMD(document.getElementById("txtfaredate_to").value);
        var fromdate = dateToYMD(document.getElementById("txtfaredate_from").value);

        if (new Date(todate) < new Date(fromdate))
    {
    args.IsValid = false;
    return;
    }
    args.IsValid = true;
    }
    function dateToYMD(date) {
        var date = new Date(date);
       // alert(date);
        var d = date.getDate();
        var m = date.getMonth() + 1;
        var y = date.getFullYear();
        return '' + y + '-' + (m <= 9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
    }
函数fncClientCheckDate(发送方,参数){
var todate=dateToYMD(document.getElementById(“txtfaredate_to”).value);
var fromdate=dateToYMD(document.getElementById(“txtfaredate_from”).value);
if(新日期(todate)<新日期(fromdate))
{
args.IsValid=false;
返回;
}
args.IsValid=true;
}
函数dateToYMD(日期){
var日期=新日期(日期);
//警报(日期);
var d=date.getDate();
var m=date.getMonth()+1;
var y=date.getFullYear();
返回'+y+'-'+'(m