如何扩展一个compareValidator,所以我可以检查,如果用户已经在ControlToValidate中写了一些文本,那么他也必须在ControlToCompare中写一些文本。
发布于 2010-06-12 13:50:13
尝试:
public class ExtendedCompareValidator : CompareValidator
{
protected override void OnPreRender(EventArgs e)
{
if (!string.IsNullOrEmpty(this.ControlToValidate) && string.IsNullOrEmpty(this.ControlToCompare))
throw new HttpException("You have to set the 'ControlToCompare' property.");
base.OnPreRender(e);
}
}Web.Config
<pages>
<tagMapping>
<add tagType="System.Web.UI.WebControls.CompareValidator, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mappedTagType="MyWebApp.ExtendedCompareValidator, MyWebApp"/>
</tagMapping>
</pages>发布于 2012-04-05 03:29:24
你不需要扩展CompareValidator来解决这个问题。在这两个控件上使用RequiredFieldValidator验证它们是否为空。这种方法的优点是还可以在客户端进行验证,从而避免了与服务器的往返。
https://stackoverflow.com/questions/3027601
复制相似问题