ASP.Net MVC 3 RC,Razor
当我尝试使用自定义消息并使用客户端验证时遇到一些意外行为。问题是它总是显示自定义消息,即使没有错误。
所以说我有一个客户端模型,其中FirstName设置为Required。如果我有以下代码,则在我点击提交按预期工作之前,不会显示验证消息。
@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName)
但现在说我想自定义验证消息以使用星号,如下所示:
@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*")
现在,甚至在我点击提交按钮之前,该字段旁边总是有一个星号。
预期的行为是,当出现验证错误时,它会显示星号。
感谢您的帮助。
答案 0 :(得分:26)
我发现了问题,需要以下CSS:
.field-validation-valid
{
display: none;
}
.validation-summary-valid
{
display: none;
}
在我重构的某个地方,这些课程被取消了。默认情况下,当您启动新的MVC 3项目时,它们就在那里。希望将来帮助某人!
答案 1 :(得分:1)
选择的答案对我不起作用。我不得不使用以下内容。请注意,该类是“错误”,而不是“有效”。这会隐藏页面加载时显示的验证消息。
<style>
.field-validation-error
{
display: none;
}
.validation-summary-valid
{
display: none;
}
</style>