如何在视图中显示计算的模型属性验证消息?

时间:2016-08-08 06:22:48

标签: validation model-view-controller

我想在视图中显示名为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")

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

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

1 个答案:

答案 0 :(得分:0)

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