【发布时间】:2015-03-12 11:21:26
【问题描述】:
我在提交表单之前在引导模式中验证用户输入时遇到问题。 我有一个具有此属性的课程
[FooValidation]
[MaxLength(50)]
[Required]
public string Foo {get;set;}
foo 属性必须是唯一的,这就是我创建 FooValidation 属性的原因,它看起来像这样:
public class FooValidationAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
//logic
return true;
}
}
在我看来,我有
@Html.TextBoxFor(model => model.Foo, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Foo)
现在的问题是,默认属性(Required 和 MaxLength)工作得很好,当我尝试提交表单时,我得到了正确的错误消息,但我的自定义属性没有,调用 IsValid 方法并返回正确的值但无论如何都会提交表单。 知道可能出了什么问题吗?
PS:我试图覆盖这个方法
ValidationResult IsValid(object value, ValidationContext validationContext)
也一样,但结果是一样的。
【问题讨论】:
标签: c# asp.net asp.net-mvc-4 unobtrusive-validation