【发布时间】:2010-09-02 14:13:15
【问题描述】:
示例: 我们有一个条件字段。 此条件字段是一个单选按钮,具有以下两个值“yes”和“no”。 假设这个单选按钮的名称是“AAA”。
仅当另一个单选按钮字段“BBB”设置为“是”时,才应显示此条件字段“AAA”。 (单选按钮“BBB”的值也是“是”和“否”)。
但条件字段“AAA”应显示为NO预设值,表示该字段首次显示时应设置“是”或“否”。
问题的出现是基于条件字段“AAA”仅在(非条件)字段“BBB”设置为“yes”时才需要 - 而在字段“BBB”设置时不需要到“不”。
(听起来,我没有听说过关于 if 语句的任何消息,或者?但请继续阅读......)
相信我,当我们使用“模型状态”时,解决这个问题对我来说不是问题——但我们在这里讨论的是看起来像这样的验证(数据注释):
public class Input1FormModel
{
[Required(ErrorMessageResourceName="Error_Field_AAA_Empty",
ErrorMessageResourceType=typeof(Resources.MyDialog))]
public int AAA { get; set; }
}
我也完全理解这些代码行 - 我相信 ;-)
...
//property limits
public int UpperBound { get { return DateTime.Now.Year; } }
public int LowerBound { get { return 1900; } }
...
[NotNullValidator]
[PropertyComparisonValidator("LowerBound", ComparisonOperator.GreaterThan)]
[PropertyComparisonValidator("UpperBound", ComparisonOperator.LessThanEqual)]
public int? XYZ { get; set; }
但是,如何解决上述依赖(AAA BBB)?
更改“返回 DateTime.Now.Year;”到一个函数调用,它首先检查另一个字段,然后返回真或假?但是如何获取另一个字段的值呢?
【问题讨论】:
标签: asp.net-mvc-2