0

我有一个下拉菜单,如果选择了某个项目,则会弹出一个子表单(出现隐藏的 div),其中包含更多需要填写的内容。对此类事情进行验证的最佳方法是什么?我考虑过编写一个验证器(使用 ValidationAttribute,IClientValidatable),但这意味着我必须从表单的其余部分中取出该组框,以便将它们验证为 1 个对象。

提前致谢。

跟进:我发现这可以在客户端做我想要的! http://foolproof.codeplex.com/
[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch]

_
没关系已经发现了一堆万无一失的问题

4

1 回答 1

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;
        }
于 2012-08-01T18:29:02.187 回答