【发布时间】:2017-05-08 19:06:37
【问题描述】:
我正在尝试覆盖 .net 核心中的 RequiredAttribute,但似乎不适用于 asp.net 核心 1.1
这是测试代码
public class CustomRequiredAttribute : RequiredAttribute
{
public CustomRequiredAttribute():base()
{
}
public override string FormatErrorMessage(string name)
{
return base.FormatErrorMessage(name);
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return base.IsValid(value, validationContext);
}
}
在我的模型上使用后,我期待像 field is required 这样的正常结果,因为我还没有自定义它,只是调用基本方法。
这似乎没有按预期工作,只是绕过了客户端和服务器端的要求。
这样做的目的是将从数据库中提取的验证消息添加到ErrorMessage 属性。
【问题讨论】:
-
你没有覆盖它,你正在创建一个派生类。你能展示一下你是如何使用它的吗?
-
我正在派生,一旦它工作将覆盖某些方法,我将它用作模型上的标准,即 [CustomRequired] public string Name{get;set;} 我希望它会调用isvalid 但断点从未命中。
-
看看这个 SO 是否有帮助:stackoverflow.com/questions/12573362/…
-
不像我使用 .net 核心,而且似乎 DataAnnotationsModelValidatorProvider 在任何库中都不存在。
-
当你查看你的html时,你看到
data-val-required属性了吗?
标签: c# asp.net-core .net-core asp.net-core-1.1