无法使用jscript验证月份和年份

时间:2013-08-07 15:25:57

标签: c# javascript asp.net

我正在尝试使用自定义验证器通过asp.net中的两个下拉菜单验证月份和年份。但它没有动态运行

<script language="javascript">
    function validateNumber(oSrc, args) {
        var month=document.getElementById('<%=ddlccExpirationMonth.ClientID %>').value;
        var year=document.getElementById('<%=ddlccExpirationYear.ClientID %>').value;
        if ((month<DateTime.Now.Year) || ((year == DateTime.Now.Year && month < DateTime.Now.Month)) 
        { 
            args.IsValid = false; 
        } else { 
            args.IsValid = true; 
        } 
    } 
</script> 

1 个答案:

答案 0 :(得分:0)

您无法使用DateTime.Now!这是Javascript,而不是C#!!!!

使用以下值:

var today = new Date();
--var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if (year < yyyy || (year == yyyy && month < mm)) {
   ...
} else {
   ...
}

知道你为什么这么做会很有意思:month<DateTime.Now.Year,比较一个月和一年!

从技术上讲,设置bool变量的if是浪费空间!

args.IsValid = !(year < yyyy || (year == yyyy && month < mm));