C# 将验证器与动态变化的区域性C进行比较#
我想比较开始日期和结束日期,即开始日期应小于结束日期。我正在动态更改页面区域性。但是,比较验证程序仅以dd/mm/yyyy格式比较日期 这是我使用的覆盖方法: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
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