- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我构建了一个简单的日期检查来验证表单中的日期是否小于当前日期。
ValidationAttribute
public class DateIsValidAttribute : ValidationAttribute
{
private const string DefaultErrorMessage = "Datumet är ogiltigt";
public string DateNotValidErrorMessage { get; set; }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
DateTime? d = Convert.ToDateTime(value);
if (d > DateTime.Now)
{
return ValidationResult.Success;
}
return new ValidationResult(DateNotValidErrorMessage ?? DefaultErrorMessage);
}
}
ViewModel
[Required(ErrorMessage = "Prenumerationen måset ha ett startdatum")]
[Display(Name = "Startdatum")]
[DateIsValid(DateNotValidErrorMessage = "Ogiltigt datum.")]
public DateTime? StartDate { get; set; }
HTML
<div class="form-group">
<label asp-for="StartDate"></label>
<input type="text" asp-for="StartDate" class="form-control" id="startDate" />
<span asp-validation-for="StartDate" class="text-danger"></span>
</div>
它自己的验证按预期工作,但 ErrorMessage 不会显示。我在 ViewModel 中拥有的所有其他 ErrorMessages 都有效。他们使用 Default ValidationAttribute。
最佳答案
我假设默认的 ValidationAttribute 类在它是 IsValid 方法中使用 ErrorMessage 属性做一些事情。在您的情况下,您没有对 IsValid 方法中的该属性执行任何操作,因此 ErrorMessage 属性没有任何反应。
检查您是否可以覆盖返回 ValidationResult 的 IsValid 方法,您可以在其中将错误消息作为参数发送。如果您的计算成功,您可以返回 ValidationResult.Success 或任何您想要的。
关于c# - 自定义 ValidationAttribute ErrorMessage 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51962047/
我正在尝试编写自己的 ValidationAttribute,我想将我的类的参数值传递给 ValidationAttribute。很简单,如果 bool 属性为 true,则顶部带有 Validati
我正在尝试编写自己的 ValidationAttribute,我想将我的类的参数值传递给 ValidationAttribute。很简单,如果 bool 属性为 true,则顶部带有 Validati
我有一个自定义的 ValidationAttribute,它检查另一个用户是否已经存在。为此,它需要访问我的数据访问层,一个由 Unity 注入(inject)我的 Controller 的实例 我如
我用以下内容装饰了一个类: [Required(ErrorMessage = "Price is required.")] public decimal Price { get; set; } 但是当
我创建了一个派生自 ValidationAttribute 的自定义验证器。我的理解是,它将生成足够的元数据供客户端脚本自动验证(使用 jquery.validate)。自定义验证器在服务器端工作正常
我有一个名为 [DateOfBirth] 的自定义 MVC 验证属性 - 它在模型中的使用如下: [DateOfBirth("DOBMinimumAgeValidation", 18, 100, Er
我的模型包含一些成员: public class Address { public Street { get; set;} public City { get; set; } pub
我有这个用于验证集合的自定义验证属性。我需要调整它以使用 IEnumerable。我尝试使该属性成为通用属性,但您不能拥有通用属性。 [AttributeUsage(AttributeTargets.
我有这样一个模型: [IsValidInput] public class Input { //different properties } 使用这样的自定义验证属性: [AttributeU
public class UniqueNameAttribute : ValidationAttribute { private const string UniqueNameViolatio
我尝试创建自定义 ValidationAttribute: public class RollType : ValidationAttribute { public override bool
我创建了一个自定义的 ValidationAttribute 类来检查我的应用程序中某个人的年龄: public class MinimumAgeAttribute : ValidationAttri
我构建了一个简单的日期检查来验证表单中的日期是否小于当前日期。 ValidationAttribute public class DateIsValidAttribute : ValidationAt
我在测试自定义验证属性时遇到了一些麻烦。由于方法签名是 protected当我调用 IsValid在我的单元测试中,我无法传入 Mock对象,它正在调用基 virtual bool IsValid(o
我在尝试确定哪个 ValidationAttribute 返回了特定的 ModelError 时遇到了问题。我的网络 API 中有一个端点,它采用以下模型; public class MyClass
当我实现从 ValidationAttribute 类继承的自定义属性时,我总是覆盖 bool IsValid(object value)忽略原型(prototype)为 ValidationResu
我创建了一个在服务器和客户端之间共享的 ValidationAttribute。为了让验证属性在数据助手类中被引用时正确生成给客户端,我必须非常具体地说明我是如何构建它的。 我遇到的问题是,由于某种原
在 ASP.NET MVC 4 应用程序中,LocalPasswordModel 类(在 Models\AccountModels.cs 中)如下所示: public class LocalPassw
MVC2 附带了一个名为“PropertiesMustMatchAttribute”的验证属性的很好示例,它将比较两个字段以查看它们是否匹配。该属性的使用如下所示: [PropertiesMustMa
使用 .NET Framework 4.5,ValidationAttribute类现在有一个名为 RequiresValidationContext 的新 Boolean 属性. 我已经挖了很长时间
我是一名优秀的程序员,十分优秀!