寻求将输入限制为4位数年份的最佳方法?

时间:2014-03-04 14:13:44

标签: asp.net-mvc asp.net-mvc-4 datetime razor asp.net-mvc-5

在MVC-4.5网站中的剃刀语法形式中,用户可以输入历史日期,如果他们输入5/6/48,即1948年或1848年,系统将把年份更改为2014年。是否有改变客户端开箱即用验证的方法,所以它需要一个4位数的年份?如果没有,我的选择是编写另一段jquery,将输入与正则表达式进行比较。

2 个答案:

答案 0 :(得分:0)

[DisplayFormat(ApplyFormatInEditMode = true, 
                 DataFormatString = "{0:dd/MM/yyyy}")]

//请根据您的文化调整日期和月份,不能从您的问题中得出什么

假设它是一个jquery datepicker,你可以为它指定格式:

$(function(){ 
        $('.datepicker').datepicker({dateFormat: 'MM-dd-yyyy'});
 });

答案 1 :(得分:0)

没有提供任何答案来改变客户端日期验证器需要4位数的年份,我编写了以下jquery,它似乎与开箱即用的验证器并排工作 - 可能是因为MVC使用keyUp而我的使用模糊:

 $("#BirthDate").blur(function () {
    var x = $(this).val();
    if (x.length > 0) {
        var idx = x.lastIndexOf("/");
        var sbs = x.substring(idx + 1, x.length);
        if (sbs.length < 4) {
            alert("Year must be 4 digits long");
        }
    }
});