Html.ValidationMessageFor中的过滤器验证类型

问题描述 投票:0回答:1

我有一个这样的模型:

public class SignUpModel
{
    [Required, DisplayName(@"Particulars/Salutation")]
    public short Salutation { get; set; }

    public IEnumerable<SalutationOption> SalutationOptions { get; set; }

    [Required, DisplayName("Particulars/FirstName")]
    public string FirstName { get; set; }

    [Required, Display(Name = "Particulars/LastName")]
    public string LastName { get; set; }

    [Required, DataType(DataType.EmailAddress), Display(Name = "Particulars/Email")]
    public string Email { get; set; }

    [Required, DataType(DataType.EmailAddress), Compare("Email"), Display(Name = "Particulars/EmailConfirmation")]
    public string EmailConfirmation { get; set; }
}

现在,我想使用@Html.ValidationMessageFor发布验证错误(也是客户端)。>>

<div class="section-field">
    <div class="form-group">
        @Html.LabelFor(model => model.Email, new { @class = "control-label required" })
        @Html.EditorFor(model => model.Email, new { htmlAttributes = new { autocomplete = "off" } })
        @Html.ValidationMessageFor(x=>x.Email);
    </div>
</div>
<div class="section-field">
    <div class="form-group">
        @Html.LabelFor(model => model.EmailConfirmation, new { @class = "control-label required" })
        @Html.EditorFor(model => model.EmailConfirmation, new { htmlAttributes = new { autocomplete = "off" } })
        @Html.ValidationMessageFor(x=>x.EmailConfirmation);
    </div>
</div>

但是在Html.ValidationMessageFor中,我只想显示“无效的电子邮件地址”或“两个电子邮件都必须匹配”之类的内容。

我不想显示这样的消息,因为所有字段都是必填字段,所以必填字段,并且它们都用红色边框显示。

有可能吗?尝试实现自定义的HtmlHelper,但这不会过滤客户端的任何内容。

[我有一个这样的模型:public class SignUpModel {[Required,DisplayName(@“ Specials / Salutation”)] public short Salutation {get;组; } public IEnumerable ... ...>

c# asp.net-mvc
1个回答
0
投票

所以我现在简单地使用CSS修复了它。

我将类required-validation添加到无效的Required-验证:

© www.soinside.com 2019 - 2024. All rights reserved.