【问题标题】:Asp.net MVC 3 RC - Razor ValidationMessageFor CustomMessage and ClientSideValidation ProblemAsp.net MVC 3 RC - Razor ValidationMessageFor CustomMessage 和 ClientSideValidation 问题
【发布时间】:2010-12-06 19:25:58
【问题描述】:

ASP.Net MVC 3 RC,剃刀

当我尝试使用自定义消息并使用客户端验证时遇到一些意外行为。问题是它总是显示自定义消息,即使没有错误。

假设我有一个客户端模型,其中 FirstName 设置为必需。如果我有以下代码,则在单击按预期工作的提交之前不会显示验证消息。

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName)

但现在说我想自定义验证消息以使用星号,如下所示:

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*")

现在甚至在我点击提交按钮之前,字段旁边总是有一个星号。

预期的行为是出现验证错误时会显示星号。

感谢您的帮助。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 razor


    【解决方案1】:

    我发现了问题,需要下面的CSS:

    .field-validation-valid
    {
        display: none;
    }
    .validation-summary-valid
    {
        display: none;
    }
    

    在我重构的过程中,这些类被删除了。当你开始一个新的 MVC 3 项目时,它们默认在那里。希望对以后的人有所帮助!

    【讨论】:

    • 它确实帮助了我,直到我看到这个才弄清楚为什么我的验证被显示,谢谢!
    【解决方案2】:

    选择的答案对我不起作用。我不得不使用以下内容。请注意,该类是“错误”,而不是“有效”。这隐藏了页面加载时显示的验证消息。

    <style>
    .field-validation-error
    {
        display: none;
    }
    .validation-summary-valid
    {
        display: none;
    }
    
    </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 2013-05-01
      • 1970-01-01
      相关资源
      最近更新 更多