见鬼,我想在文本框中手动添加日期格式为dd/MM/yyyy的日期。我已经声明了模型验证,但是我发现MVc不会参与日期验证,需要用jquery做,我已经完成了像那样但是。在这里,我的某些情况不正常,例如,如果我输入 10/12/20,那么我需要显示消息 dateformat 错误,因为我想要 10/12/2013。我也在使用 Bootstrap 日期选择器..但是使用 boostratp datepicker 很难选择旧日期..所以我需要使用日期格式验证手动添加日期。
//模型
[Required(ErrorMessage = "Birth Date is required")]
//[Display(Name = "When where you born?")]
[Display(Name = "Birth Date")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime? BirthDate { get; set; }
下面是jquery
//Jquery
var dateFormat = "dd/mm/yy";
$("#BirthDate").datepicker({
dateFormat: dateFormat,
autoclose: true,
orientation: 'top left'
})
.on('changeDate', function (ev) {
var dob = new Date($("#BirthDate").val());
var today = new Date();
var Age = parseInt(today.getFullYear()) - parseInt(dob.getFullYear());
$("#EighteenAge").val('');
$("#EighteenAge").val(Age);
});
$(function ($)
{
$('#BirthDate').on("keypress", function (e)
{
ValidDate();
});
});
function ValidDate()
{
$.validator.addMethod('date',
function (value, element)
{
if (this.optional(element))
{
return true;
}
var ok = true;
try
{
$.datepicker.parseDate(dateFormat, value);
}
catch (err)
{
ok = false;
}
return ok;
});
}
请帮助一些