【问题标题】:How to display MVC 3 unobtrusive validation errors ONLY in a summary or div如何仅在摘要或 div 中显示 MVC 3 不显眼的验证错误
【发布时间】:2012-08-01 21:18:20
【问题描述】:

该项目是 MVC 3,带有 Razor 视图和 JQuery 不显眼的验证。我们的网页在文本框上方设置标签,验证消息位于文本框下方。通常文本框的宽度约为 150 像素,因此验证消息往往相当窄且高。不好看。

我更喜欢使用 Html.ValidationMessageFor 帮助器将所有消息放在页面顶部,最好放在项目符号列表中。我还没有找到一种方法来“关闭”文本框旁边的消息显示,尽管我可以使用验证摘要来捕获提交时的属性错误。

许多验证都发生在弹出窗口中,我们正在使用 Telerik 进行弹出窗口。

如果可能,我宁愿避免编辑开源 js 文件。

【问题讨论】:

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


    【解决方案1】:

    删除视图中的 Html.ValidationMessageFor() 项目 => 这将禁用出现在文本框旁边的消息。

    接下来,在您希望项目符号列表出现的位置添加Html.ValidationSummary(false, "Your Message")(必须在using(html.BeginForm() 调用中)。此 Html Helper 中的 false 是指示摘要不排除属性错误的重载。对于样式,您需要做一些 CSS 工作。

    【讨论】:

    • 即使没有添加 Html.ValidationMessageFor 助手,消息仍然显示在文本框旁边。或者有没有可以关闭它的设置?
    • @dewmangolf - 您能否在视图中添加一个示例部分,用于输出文本框和周围的代码行?
    • 感谢您的提问。我现在看到我们正在使用的自定义助手内置了 Html.ValidationMessageFor。谢谢。接受。
    【解决方案2】:

    您可能想研究使用<%: Html.ValidationSummary(true) %> 标记。这将创建您正在寻找的内容。

    【讨论】:

    • 不幸的是,它不会隐藏文本框旁边的消息,我不想显示消息两次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 2015-07-08
    • 1970-01-01
    • 2011-07-09
    相关资源
    最近更新 更多