自定义验证属性不能与jquery一起使用
我正在尝试向表单上的“出生日期”字段添加自定义模型验证属性。该属性本身的工作原理与我提交日期不正确的表单时相同,它无法通过验证 然而,我使用的是jquery不引人注目的验证,虽然触发了标准模型验证属性并阻止表单提交,但这个自定义属性没有 我的自定义属性如下所示:自定义验证属性不能与jquery一起使用,jquery,unobtrusive-validation,Jquery,Unobtrusive Validation,我正在尝试向表单上的“出生日期”字段添加自定义模型验证属性。该属性本身的工作原理与我提交日期不正确的表单时相同,它无法通过验证 然而,我使用的是jquery不引人注目的验证,虽然触发了标准模型验证属性并阻止表单提交,但这个自定义属性没有 我的自定义属性如下所示: public class DateMustBeInThePast : ValidationAttribute { public override bool IsValid(object value) {
public class DateMustBeInThePast : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null) return true;
var date = (DateTime)value;
return date < DateTime.Now;
}
}
因此,所有属性(如字段)都是必需的,并且必须采用正确的工作格式,但是“DateMustBeInThePast”在表单提交后才会被检查
我在视图中包含了jquery.validate.js和jquery.validate.unobtrusive.js脚本
有人能告诉我如何获得验证以检查此规则的正确方向吗?您需要定义客户端自定义适配器这是否回答了您的问题?
[Required(ErrorMessage = "Please enter a valid date")]
[DisplayName("Date of Birth")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DateMustBeInThePast(ErrorMessage = "Date of Birth must be in the past")]
public DateTime? Dob { get; set; }