Asp.net MVC 3 RC - Razor ValidationMessageFor CustomMessage和ClientSideValidation问题

时间:2010-12-06 19:25:59

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

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, "*")

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

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

感谢您的帮助。

2 个答案:

答案 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>