代码隐藏的ASP.net验证

时间:2009-08-27 11:10:20

标签: c# asp.net validation

我为数据创建了一个重复多次的输入模板。现在我想确保至少填写其中一个项目。

我这样做的方法是使用通用列表List中的Count属性来查看使用了多少个(我的控件中有一些逻辑允许我只选择实际使用的条目)。

我是否可以通过任何方式向页面的验证页面添加内容,以通知用户至少需要填写一个itme。 我想在后面的代码中进行计数检查...

if (EnteredClasses.Count > 0)
{
    //do stuff here
}
else
{
    //show validation error
}

3 个答案:

答案 0 :(得分:2)

我会使用CustomValidator控件,内联ServerValidate函数并检查Page.IsValid。如果ServerValidate函数将args.IsValid设置为false,那么您的CustomValidator控件的错误消息将显示在验证摘要中。

安德鲁

答案 1 :(得分:0)

使用CustomValidator。使用这些时,您可以编写自己喜欢的任何逻辑。

答案 2 :(得分:0)

我会欺骗并合并两种方法。根据您的问题,您似乎需要使用验证摘要,因此您需要基本的asp验证。然后,您需要使用自定义验证器。

自定义验证器的问题是,您必须将其附加到特定控件,然后实现javascrip方法

   function ClientValidate(source, agruments)
   {
      // Do your check here where source is the span for the validator and 
      // argument is an object with .value the value of the control to which 
      // the validator is attached and .isvalid that indicate if the validation 
      // checks out (that's what you set to true or false)
   }

如果要验证多个项目而不是juste,则会出现问题。所以我会实现这个方法并忽略arguments.value然后使用jQuery检查你的整个表单并做你需要的任何验证然后设置isvalid。