【问题标题】:How to show frame if validate message for is valid in Razor?如果验证消息在 Razor 中有效,如何显示框架?
【发布时间】:2014-08-05 11:44:57
【问题描述】:

我正在寻找一段时间的解决方案,但找不到。我的 Razor 中有这个 ValidateMessageFor,如果它到达那里会显示错误消息。

现在我已经为这条消息创建了这个 css 框架,我希望它只有在有一些 ValidateMessage 时才会显示。

我试过这个:

@{
    if (@Html.ValidationMessageFor(u => u.CustomType) != null)
    {
    <p class="alert alert-danger alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>@Html.Raw(@Html.ValidationMessageFor(u => u.CustomType))
    </p>
    }
}

但这不起作用。问题是始终显示框架(内部没有错误消息,直到我出错,然后显示错误消息)。当我来到这个表格时,它是这样的:

如果显示错误:

【问题讨论】:

  • 你可以自己写validationMessageHelper:stackoverflow.com/questions/7892174/…
  • ValidationMessage 有效,但问题是,如果出现错误,我想在课堂上显示它。当前代码一直显示我的 css(没有错误消息)框架

标签: asp.net-mvc validation razor validationmessage


【解决方案1】:

试试这个:@Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(u =&gt; u.CustomType).ToString())))

完整代码:

@{
    if (!String.IsNullOrEmpty(@Html.ValidationMessageFor(u => u.CustomType).ToString()))
    {
    <p class="alert alert-danger alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert">
            <span aria-hidden="true">&times;</span>
            <span class="sr-only">Close</span>
        </button>
        @Html.Raw(Server.HtmlDecode(@Html.ValidationMessageFor(u => u.CustomType).ToString())))
    </p>
    }
}

【讨论】:

  • 在提交之前?所以检查@Html.ValidationMessageFor(u =&gt; u.CustomType).ToString()是否为空...
  • 例如:String.IsNullOrEmpty(@Html.ValidationMessageFor(u =&gt; u.CustomType).ToString())
  • 这在开始时起作用,当我来到页面时。但是当我尝试提交时(没有输入,所以显示错误)代码没有执行
猜你喜欢
  • 2012-10-26
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2020-08-04
  • 2012-08-24
  • 2021-08-07
相关资源
最近更新 更多