gpt4 book ai didi

asp.net-mvc - asp.net mvc 不显眼的验证在呈现器上显示验证错误消息

转载 作者:行者123 更新时间:2023-12-02 05:18:26 25 4
gpt4 key购买 nike

精简版:为什么在 data-valmsg-replace='false' 时默认显示验证消息?我该如何解决?

详细信息:

在我的 Razor 中,我这样做:

@Html.TextArea("Description", Model.FormData.Description, new { @class="span12" })
@Html.ValidationMessage("Description", L("Description is required"))

验证消息呈现为(如预期):

<span class="field-validation-valid" data-valmsg-for="Description" data-valmsg-replace="false">Description is required</span>

并且消息在页面初始呈现时可见。这似乎是设计使然,但没有任何意义(注意 data-valmsg-replace='false')。

问题

  1. 这个设计决定背后的原因是什么,特别是当 data-valmsg-replace='false' 出现时默认显示错误消息?

  2. 有没有比添加 .field-validation-valid { display: none; 更好的解决方案? }

最佳答案

以下帖子可能包含推测

创建 ASP.NET MVC 项目将遵循以下规则:

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

这意味着验证错误容器将在 OOB 中不可见(在我的例子中,我未能将该规则转移到我自己的 site.css 中)

如果没有错误,为什么不对容器.hide() 进行不显眼的验证?
假设我希望我的错误容器在没有错误时被设置为绿色复选标记。如果 unobtrusive.validation 隐藏了容器,那么我就无法做到这一点。

所以我的答案是:

  1. unobtrusive 应该是不显眼的,这就是它默认不隐藏容器的原因。你想隐藏它 - 你可以按照你想要的方式设计它。
  2. .field-validation-valid { 显示:无; 是合理的,也是我能想到的最好的方案。

关于asp.net-mvc - asp.net mvc 不显眼的验证在呈现器上显示验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com