我正在尝试使用不同浏览器中使用日期选择器的最简单方案.我怀疑我做的事情非常简单,但是经过大量的搜索,我仍然没有找到解决方案.下面是一些代表我正在尝试的示例代码.
如果我使用Chrome(v12.0.742.122)并从选择器中选择日期,例如13/08/2011,即使我已明确指定格式为'dd/mm /,jQuery验证逻辑也不允许页面提交YY".
如果我将格式更改为'dd/M/yy'并选择类似13/Aug/2011的日期,则可以在Chrome中使用,但之后不会在IE中提交(v8.0.7600.16385).在FireFox(v3.6.18)中,两种格式都有效.
我需要哪些验证脚本才能支持Chrome中'dd/mm/yy'的日期格式?
<html>
<head>
<link rel="stylesheet" type="text/css" href="jquery-ui.css" />
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
<script type="text/javascript" src="jquery.validate.unobtrusive.js"></script>
<script type="text/javascript" src="jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.date').datepicker({ dateFormat: 'dd/mm/yy' });
$.validator.addMethod("dateRule", function(value, element) {
return true;
},
"Error message");
});
</script>
</head>
<body>
<form>
Date: <input type="text" name="myDate" class="date dateRule" />
<input type="submit" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) jquery jquery-ui datepicker jquery-validate unobtrusive-validation
我在我的视图模型上使用jquery datepicker
这是我的观点:
@Html.TextBoxFor(o => o.JobStartDate, new { id = "dt1", @class = "input-block-level" })
@Html.ValidationMessage("JobStartDate")
Run Code Online (Sandbox Code Playgroud)
和我的脚本:
$("#dt1").datepicker({ dateFormat: "dd/mm/yy" });
Run Code Online (Sandbox Code Playgroud)
如果我的日期<= 12,一切正常,如果我的日期超过12,它将显示验证错误消息,说"字段开始日期必须是日期".(我正在使用jquery验证)
例如:日期2014年12月16日将给出错误,而12/12/2014将不会
这是我的视图模型:
[Required]
[DataType(DataType.Date)]
[Display(Name = "Start Date")]
public DateTime JobStartDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
我怀疑我的视图模型预期格式为mm/dd/yyyy的日期,而在我的datepicker上我指定了dd/mm/yy,有没有办法告诉我的viewmodel我期待dd/mm/yy格式如此如果日期> = 12,它不会抛出错误消息.