【问题标题】:validation message is not showing in client side in mvc razor验证消息未显示在 mvc razor 的客户端
【发布时间】:2012-08-24 08:04:44
【问题描述】:

我正在研究 MVC Razor,我想根据条件验证我的模型。 codtion 是如果 IsDefaultMailingAddress 为真,那么只有 DeliveryLine 和 Zip 将是必需的,否则页面将被提交。 我搜索了这么多的文章,得到了下面的 metion 博客 http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx

我已经在我的模型中实现了 Reqiuedif,如下所述

我的模特: RequiredIf("IsDefaultMailingAddress",true, ErrorMessage = "必须添加 DeliveryLine")] 公共字符串 DeliveryLine { 获取;放; }

RequiredIf("IsDefaultMailingAddress",true, ErrorMessage = "必须添加邮编")] 公共字符串 Zip { 获取;放; }

public bool IsDefaultMailingAddress { get;放; }

一切正常,但问题是当我单击提交按钮时,它会进入服务器端并且模型状态有效 显示错误。为什么在去服务器之前它没有显示所有错误消息 "必须添加 DeliveryLine 并且必须添加 Zip"

请告诉我应该如何实现这个客户端验证。

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    您必须启用 ClinetValidation 才能解决此问题。在视图中只需添加以下 html 帮助器。

    @Html.EnableClientValidation()
    

    【讨论】:

    • 感谢您的回复。您确定我是否在视图中添加了@Html.EnableClientValidation()。它会起作用并显示所有必需的错误消息
    • 是的,它将启用客户端事件验证,您将在提交前看到验证。
    • 在不添加 @html.EnableClientValidation() 的情况下显示所需的错误消息。但问题是 RequiredIf 错误消息。我在哪里犯了愚蠢的错误
    • 不,您说“它正在进入服务器端并且模型状态有效显示为假。为什么在进入服务器之前它没有显示所有错误消息”,所以这是防止进入服务器的方法侧面并首先显示验证。
    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多