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

本文关键字:验证 jscript | 更新日期: 2023-09-27 18:26:49

我正在尝试使用自定义验证器通过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> 

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

您不能使用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,将一个月与一年进行比较,那将是一件有趣的事情!

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

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