3
如何擴展一個compareValidator,這樣我可以檢查,如果用戶在ControlToValidate中寫入了一些文本,那麼他也必須在ControlToCompare中寫入一些文本。擴展Asp.net CompareValidator
如何擴展一個compareValidator,這樣我可以檢查,如果用戶在ControlToValidate中寫入了一些文本,那麼他也必須在ControlToCompare中寫入一些文本。擴展Asp.net CompareValidator
嘗試:
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>
你並不需要延長CompareValidator
來解決這個問題。在兩個控件上使用RequiredFieldValidator
來驗證它們不是空的。這種方法具有在客戶端進行驗證的優點,因此避免了往返服務器。
我將如何使用此驗證器?的? –
coure2011
2010-06-12 06:42:08
你不需要改變任何東西。使用傳統的'CompareValidator'控件,ASP.NET將其與新的'映射'。 – 2010-06-12 07:24:53
沒有它沒有工作。它具有與正常的CompareValidator控件相同的行爲。 – coure2011 2010-06-12 07:42:06