模型中的表单验证



我正在进行.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无效"-我再次想要我自己的错误消息。

我做错了什么?

DateTime类型有一个默认值。这就是为什么所需属性没有触发的原因。我一直做的是,如果我期望一个属性为null或为空,我会使其为null。

Ex。

DateTime? StartDateTime

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新