验证器未将ErrorMessage传递给ValidationSummary

时间:2009-06-22 16:32:29

标签: c# asp.net validation

我编写了自己的Validator,虽然验证器似乎正在工作(因为它在无效时显示Text属性),但验证失败时ValidationSummary不会显示ErrorMessage属性或任何内容。有趣的是,当我向页面添加带有验证器的另一个控件时,它似乎甚至无法显示Text属性。我做错了什么?

public class RequiredCheckBoxListValidator : BaseValidator
{
private CheckBoxList _list;
private int _requiredCount = 1;

public int RequiredCount
{
  get { return _requiredCount; }
  set { _requiredCount = value; }
}

public RequiredCheckBoxListValidator() 
{
  EnableClientScript = false;
}

protected override bool ControlPropertiesValid()
{
  Control control = FindControl(ControlToValidate);

  if (control != null)
  {
    _list = (CheckBoxList)control;
    return (_list != null);
  }
  else
  {
    return false;
  }
}

protected override bool EvaluateIsValid()
{
  return (_list.Items.Cast<ListItem>().Where(li => li.Selected).Count() == _requiredCount);
}
}

1 个答案:

答案 0 :(得分:0)

有助于查看您的客户信息。

如果没有这个,我的猜测是在validtorsummary上检查ShowSummary以确保它没有隐藏摘要,并查看验证器和摘要是否在单独的UpdatePanel中。