我有一个下拉列表,如果选择了某个项目,则会弹出一个子窗体(显示的隐藏div),其中包含更多需要填写的内容。验证此类问题的最佳方法是什么?我想过编写一个验证器(使用ValidationAttribute,IClientValidatable),但这意味着我必须从表单的其余部分中取出该组框,以便将它们验证为1个对象。
提前致谢。
跟进:我发现这就是我想做的客户端! http://foolproof.codeplex.com/
[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch] 击>
_
没关系已经发现了一堆万无一失的问题
答案 0 :(得分:1)
您需要扩展ValidationAttribute以创建自定义验证器。它可能是这样的:
public YourValidatorNameAttribute()
{
ErrorMessage = /** your not valid messaging **/;
}
public override bool IsValid(object value)
{
bool isValid = true;
YourClass c = value as YourClass;
if (c != null)
{
if (/** check if the item in your dropdown is selected**/)
{
isValid = /** check value of fields or whatever validation is needed in the 'more stuff' fields**/;
}
}
return isValid;
}