替代字段不起作用

时间:2018-08-01 11:16:52

标签: c# .net model-view-controller override virtual

我的方法一定在哪里出错了,但我一直在努力寻找位置。 我正在使用.NET MVC。

我有一个带有电子邮件地址字段的基类(基本表单模型):

    public abstract class BaseFormModel
    {
        [DisplayName("Email address")]
        [RegularExpression(Constants.ValidationPatterns.Email, ErrorMessage = "Please enter valid {0}")]
        [RequiredIf("SignUpForEmailUpdates", true, RequiredErrorMessage)]
        [StringLength(250, ErrorMessage = "Max length is 250 characters")]
        public virtual string EmailAddress { get; set; }
    }

还有一个从该类(特定表单模型)继承的另一个类,带有一个替代电子邮件地址字段:

    public class ContactFormModel : BaseFormModel
    {
        [DisplayName("Email address")]
        [RegularExpression(Constants.ValidationPatterns.Email, ErrorMessage = "Please enter valid Email")]
        [StringLength(50, ErrorMessage = "Max length is 50 characters")]
        [Required(ErrorMessage = "Please enter {0}")]
        public override string EmailAddress { get; set; }
    }

在我看来,我有:

    @Html.LabelFor(m => m.EmailAddress):
    @Html.TextBoxFor(m => m.EmailAddress, new { @type = "email" })
    @Html.ValidationMessageFor(m => m.EmailAddress)

当我不希望网页上显示的文本框不想要它并尝试覆盖它以使其停止显示时,在页面上应用了[RequiredIf]参数。

我想念什么吗?

0 个答案:

没有答案