C# 如何检查是否触发了验证?

C# 如何检查是否触发了验证?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我正在为注册表添加验证。现在,我有这个: <div class="row"> <div class="alert alert-danger"> @Html.ValidationMessageFor(model => model.FirstName) @Html.ValidationMessageFor(model => model.LastName) @Html.ValidationMessageFor(

我正在为注册表添加验证。现在,我有这个:

<div class="row">
    <div class="alert alert-danger">
        @Html.ValidationMessageFor(model => model.FirstName)
        @Html.ValidationMessageFor(model => model.LastName)
        @Html.ValidationMessageFor(model => model.EmailAddress)
        @Html.ValidationMessageFor(model => model.Company)
        @Html.ValidationMessageFor(model => model.ClearTextPassword)
    </div>
</div>

@Html.ValidationMessageFor(model=>model.FirstName)
@Html.ValidationMessageFor(model=>model.LastName)
@Html.ValidationMessageFor(model=>model.EmailAddress)
@Html.ValidationMessageFor(model=>model.Company)
@Html.ValidationMessageFor(model=>model.ClearTextPassword)
验证工作正常,但我有几个问题:

  • 现在,我有一个空的红色框,当没有验证,我非常想隐藏。如何检查整个模型是否存在任何验证错误,以便将其包装在
    if
    语句中?e、 g.
    if(model.ValidationErrors.Count>0)
  • 我还想将其包装在一个
    ul
    中,如何检查是否在属性级别触发了验证?e、 g.
    if(model.FirstName.failed验证)

理想情况下,我希望从视图执行这两个检查。谢谢

您可以添加
@Html.ValidationSummary()
来显示错误消息。

为什么不使用
验证摘要()

基本上它能做你想做的一切。只需将问题中的所有代码替换为

@Html.ValidationSummary()
您可能需要编辑一些CSS,因为它的结构与上面的不完全相同

如果您想要精确地生成该结构,您需要使用不引人注目的验证javascript(这是非常重要的)


你为什么不直接用一个?@Liam我不知道那是什么。你能用一个例子给出答案吗?