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