【发布时间】:2019-05-02 09:15:53
【问题描述】:
我正在一个 .Net Core MVC 边做边学的过程中尝试在模型中进行表单验证,但它没有按预期工作。
在模型中:
namespace VPV.Models {
public class Event : IValidatableObject {
[Required(ErrorMessage = "Feltet 'Start' er obligatorisk")]
[DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)]
[DataType(DataType.DateTime, ErrorMessage = "Der er ikke angivet en gyldig 'Start'")]
public DateTime StartDateTime { get; set; }
}
}
在表格上:
<div asp-validation-summary="All"></div>
和:
<input asp-for="Event.StartDateTime" type="text" class="form-input fv-req" />
问题是,如果我将 StartDateTime 字段留空,屏幕上的错误消息是“值 '' 无效”,而不是我在模型中键入的错误消息。
另外,当在字段中输入无效的日期时间值时,错误消息是“值 '15/11/2019 09.81' 对 StartDateTime 无效” - 我再次想要我自己的错误消息。
我做错了什么?
【问题讨论】:
-
只是为了确定:您正在使用定义这些验证规则的类作为视图的模型,对吗?您是否引用了正确的 JS 库?查看Model Validation 文档。
-
我已经用我的代码的更多细节更新了这个问题。现在在测试/学习阶段,我只做服务器端验证。需要JS吗?我已阅读模型验证文档。我在我的代码中遗漏了一些重要的东西吗?同样,验证工作,但不是我自己的错误消息。
标签: .net validation asp.net-core model