【发布时间】:2014-10-07 08:26:06
【问题描述】:
我正在尝试创建自定义数据注释时间验证器来验证日期时间时间字段。我希望它在客户端上验证。 我在这个网站上找到了一个例子,但我认为它的一部分丢失了。 我确实相信我创建的类正在部分工作,因为它似乎正在验证新创建的条目,但在编辑时不验证。 还 我正在使用带有 jquery-ui-timepicker-addon.js 的时间选择器。
I also have added this to my web.config
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
我已将 jquery.validate.unobtrusive.js" 添加到我创建的时间选择器包中。
您将在下面找到我的模型、我创建的 TimeAttribute 类和我的 Edit cshtml。
非常感谢任何帮助
[DisplayName("Injury Time")]
[DataType(DataType.Time)]
[Time]
[DisplayFormat(DataFormatString = "{0:hh:mm tt}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> InjuryTime { get; set; }
` 公共类 TimeAttribute : ValidationAttribute, IClientValidatable { 公共 IEnumerable GetClientValidationRules(ModelMetadata 元数据,ControllerContext 上下文) { 产量返回新的 ModelClientValidationRule { 错误消息 = 错误消息, ValidationType = "时间" }; }
public override bool IsValid(object value)
{
DateTime time;
if (value == null || !DateTime.TryParse(value.ToString(), out time))
return false;
return true;
}
}
`
@Html.LabelFor(model => model.InjuryTime, new { @class= "control-label col-md-2" })
@Html.EditorFor(model => model.InjuryTime)
@Html.ValidationMessageFor(model => model.InjuryTime)
【问题讨论】:
标签: validation