繁体   English   中英

我如何知道我的表单是否已从我的视图中验证?

[英]How do I know if my form has validated from within my view?

当前,我在控制器中设置ViewBag.HasError ,然后在视图中使用该变量来确定是否将提供验证消息的html写入屏幕。

start.cshtml:

@if (ViewBag.HasError != null && ViewBag.HasError)
{
  <tr>
    <td colspan="2">
      @Html.ValidationMessageFor(m => m.Email)<br />                
    </td>
  </tr>
}

框架中是否已有类似内容?

您不需要任何标志,框架已经准备就绪。 当涉及ValidationMessageFor执行时,将检查ModelState以包含此特定消息。 如果找到了消息(表示验证已完成),则显示该消息,否则,此方法不会对输出添加任何内容。

但是,有一些内置功能可让您检查视图上的模型状态。 以下是检查模型总体上是否有效的方法(类似于您已实现的方法):

@ViewData.ModelState.IsValid

这是如何检查特定字段的错误:

@ViewData.ModelState["Email"].Errors.Count != 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM