gpt4 book ai didi

asp.net-mvc - 为什么将 EmailAddressAttribute 添加到属性会导致 EditorFor 失败?

转载 作者:行者123 更新时间:2023-12-04 05:07:20 26 4
gpt4 key购买 nike

我的模型对象上有一个字符串属性,名为 EmailAddress .我正在使用 Html.EditorFor呈现此页面上所有字符串属性的输入字段,以及一个工作正常的自定义编辑器模板。但是,我添加 EmailAddressAttribute 的那一刻对于此属性,EditorFor 似乎不再将该属性检测为字符串类型,或者至少,它拒绝使用我拥有的用于字符串的编辑器模板。

这有效:

[DisplayName("EmailAddress")]
[Required(ErrorMessage = "Required")]
[StringLength(100, ErrorMessage = "Must be <= 100 characters.")]
public string EmailAddress { get; set; }

// and then in my view...
@Html.EditorFor(x => x.EmailAddress)

这不会:
[DisplayName("EmailAddress")]
[Required(ErrorMessage = "Required")]
[StringLength(100, ErrorMessage = "Must be <= 100 characters.")]
[EmailAddress(ErrorMessage="Invalid email address.")]
public string EmailAddress { get; set; }

// and then in my view...
@Html.EditorFor(x => x.EmailAddress)

在第二个示例中,使用默认字符串编辑器模板而不是我自己的模板。同一模型上的其他属性使用正确的编辑器模板进行渲染。

我是否遗漏了一些明显的东西,或者这似乎是一个错误?

最佳答案

[EmailAddress]属性将属性的数据类型设置为 EmailAddress ,这会导致 EditorFor()寻找 EmailAddress模板。

关于asp.net-mvc - 为什么将 EmailAddressAttribute 添加到属性会导致 EditorFor 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com