【问题标题】:ASP.net MVC conditional validationASP.net MVC 条件验证
【发布时间】:2011-05-26 13:17:15
【问题描述】:

我正在处理需要条件验证的 MVC 页面。

当用户从下拉列表中选择一个国家/地区时,如果他们选择两个特定国家/地区之一,则会显示一个框,其中包含两个必需的文本框。我希望在这种情况下激活验证,如果他们选择任何其他国家/地区,则该框将被隐藏并且验证将被停用。

目前在我没有构建的站点上,有一个单独的验证类(它继承自 ValidationSet)处理该控制器的所有验证,并且它们使用 ValidatePresence、ValidateDecimal 和 ValidateExpression 等命令进行验证,所以我想坚持这种格式以保持一致性。例如

new ValidatePresence("countryId") {ErrorMessageFormat = "Please supply a country for delivery to"}

有人有什么想法吗?谢谢

【问题讨论】:

  • 你使用的是哪个版本的mvc?

标签: c# asp.net-mvc


【解决方案1】:

只有另一个验证器,如“ValidateConditionalPresence”或类似的,然后让它按照你说的去做,有什么问题吗?即

  return dropdown == false || (!string.IsNullOrWhitespace(box1) && !string.IsNullOrWhitespace(box2));

【讨论】:

    【解决方案2】:

    我在这里道歉 - 我最初虽然 ValidatePresence、ValidateDecimal 等是 MVC 中的验证控件,但发现它们是自定义类。我现在已经修改了这些以执行所需的操作。

    感谢您的宝贵时间

    【讨论】:

      猜你喜欢
      • 2011-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      相关资源
      最近更新 更多