DataAnnotation显示工具提示而不是突出显示该字段

时间:2014-08-22 15:20:27

标签: c# data-annotations

我在ASP.NET MVC 4中遇到[EmailAddress] DataAnnotation问题。我的目的只是在没有通过验证的情况下突出显示具有基本设计的字段,如下所示。

Link 1(我的代表不允许发布图片)

在上面的字段中,我使用的是[RegularExpression][Required],在此之前没有任何问题。

但是当我应用[EmailAddress]时,会发生这种情况:

Link 2

如何摆脱此工具提示并仅突出显示?

我的代码:

[Required(ErrorMessage="Campo obrigatório.")]
    [RegularExpression(@"\(\d{2}\)\d{4,5}-\d{4}", ErrorMessage="Insira um telefone válido.")]
    public string Telefone { get; set; }
[EmailAddress]
    public string Email { get; set; }

更新1

现在我真的不知道问题是否与[EmailAddress]有关。我刚做了另一个测试:

1 - 如果我只是在@的左侧放置一些内容并提交表单,它将保留工具提示,如链接2

2 - 如果我放置,例如:foo @ foo然后提交表单,现在它显示正确,只显示字段(并使用自定义ErrorMessage,如果我愿意),如链接1。 / p>

更新2.注意:我使用了一些自定义字段。 TextBoxCNPJFor()正常工作。标准的EditorFor(model => model.Email)是导致问题的人

<div class="editor-field">
        @Html.TextBoxCNPJFor(model => model.CNPJ)
        @Html.ValidationMessageFor(model => model.CNPJ)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.Email)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Email)
        @Html.ValidationMessageFor(model => model.Email)
    </div>

提前致谢。

1 个答案:

答案 0 :(得分:0)

解决了这个问题。

我的脚本包未正确加载。我把它放在正确的顺序上,现在它工作正常。感谢所有帮助过我的人。