2011-08-31 62 views
2

场景:用户应填写表单并根据他的选择显示不同的属性(使用jQuery .show和.hide)。 问题:我想要一些显示为必需的属性(但仅当它们显示为ofc时)。如果显示属性,[必需]属性不在意。因此,如果我使用[必填],则会要求用户填写他无法看到的属性。 解决方案:?如何在mvc中隐藏的属性上使用必需的属性

回答

4

您可以使用RequiredIf attribute执行条件的验证:

[RequiredIf("HiddenFoo", "true", ErrorMessage = "Foo is required")] 
public string Foo { get; set; } 

public string HiddenFoo { get; set; } 

现在,添加一个隐藏字段名为HiddenFoo然后切换它的价值时,你是显示/隐藏Foo文本框。仅当HiddenFoo="true"时才需要Foo

+0

完美!像魅力一样工作,thanx :) – Arnstein