[英]ASP.NET CustomValidator not working
我有問題:我的頁面上有一個自定義驗證器,用於驗證imieTextbox控件。 但它不起作用。 我不知道為什么。
這個方法來自register.aspx.cs文件:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
//of course here will be other validation logic but setting IsValid property ti false is for example
args.IsValid = false;
}
這來自fromregister.aspx文件:
<asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="imieTextbox" Display="Dynamic"
ErrorMessage="CustomValidator"
onservervalidate="CustomValidator1_ServerValidate" ValidateEmptyText="True"
ValidationGroup="A"></asp:CustomValidator>
頁面上的提交按鈕具有屬性CausesValidation設置為TRUE並具有驗證組A(與我頁面上的所有驗證器一樣)。 所有驗證器(requiredfield驗證器)工作正常,但自定義驗證器不工作。 這是為什么? 我究竟做錯了什么?
你必須打電話
if (Page.IsValid)
在服務器上回發時,否則將不會調用您的服務器驗證。 RequiredFieldValidator在客戶端上驗證,這就是為什么這個工作正常。 但是,您應該始終在服務器上進行驗證。
對於客戶端驗證,您必須編寫一個JavaScript方法。 您在CustomValidator中設置屬性:
ClientValidationFunction="YourValidationMethod"
並且該方法執行類似的操作
function YourValidationMethod(source, args)
{
if (valid) // do check here
args.IsValid = true;
else
args.IsValid = false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.