关于MVC中的服务器端和客户端验证,可以参考这位博客http://www.cnblogs.com/zzgblog/p/5467677.html
在自定义view模板中,默认是不带客户端验证的。如果需要用客户端验证,需要在input上面加data-val属性和data-val-required等属性,比如
@model DateTime?
<input id="@ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty)"
name="@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)"
value="@(Model > DateTime.MinValue && Model.HasValue ? Model.Value.ToString("yyyy-MM-dd HH:mm:ss") : null)"
class="form-control laydate-icon" readonly
style="background-color:white; cursor:text"
data-val="@ViewData.ModelMetadata.IsRequired.ToString().ToLower()"
data-val-required="@string.Format("请填写{0}", ViewData.ModelMetadata.DisplayName)"
/>
<script>
$(document).ready(function() {
$("#@ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty)").click(function () {
laydate({ istime: true, format: 'YYYY-MM-DD hh:mm:ss' })
});
@* 属性如果在这里添加无效var isRequired="@ViewData.ModelMetadata.IsRequired";
var att = "请填写"+"@ViewData.ModelMetadata.DisplayName";
if (isRequired == "true" || isRequired == "True") {
$("#@ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty)").attr({ "data-val": true, "data-val-required": att })
}*@
});
</script>