开发者

Extending Asp.net CompareValidator

How to extend a compareValidator so i can check, if user has written some text in ControlToValidate then he must write some text in Co开发者_高级运维ntrolToCompare too.


Try:

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>


You don't need to extend CompareValidator to solve this. Use RequiredFieldValidator on both controls to validate they are not empty. This approach have the advantage of validating on the client side as well so avoiding a round trip to server.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜