【问题标题】:How to display calculated model property validation message in view?如何在视图中显示计算的模型属性验证消息?
【发布时间】:2016-08-08 06:22:47
【问题描述】:

我想在视图中显示名为AtLeastOneSelected 的计算模型属性的验证错误消息,但它不会显示。我的模型中有以下内容:

[RegularExpression("true", ErrorMessage = "you must select at least one")]
public bool AtLeastOneSelected { get { return PropertyOne != false ||
PropertyTwo != false || PropertyThree != false || PropertyFour != false }

public bool PropertyOne { get; set; }
public bool PropertyTwo { get; set; }
public bool PropertyThree { get; set; }
public bool PropertyFour { get; set; }

但是,如果我使用以下内容,AtLeastOneSelected 的验证消息不会显示在视图中,即使在选择其中一个属性之前模型状态无效:

 @Html.ValidationMessage("AtLeastOneSelected")

我知道我可以制作一个自定义验证属性来验证上述内容,但我认为会有同样的问题,因为我想根据是否至少有一个其他属性 = 在一个地方显示验证消息true 并且对于必须为 true 的每个属性都没有一条错误消息。

如何在视图中显示AtLeastOneSelected 属性的错误消息?

【问题讨论】:

    标签: validation model-view-controller


    【解决方案1】:

    我发现 AtLeastOneSelected 属性添加了一个字符串作为前缀,这意味着当模型在模型状态中返回错误时,它与视图中的验证摘要消息不匹配。

    【讨论】:

      猜你喜欢
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多