2012-11-13 123 views
0

我正在使用ASP.NET Pages和CustomValidator控件來驗證控件集。此外我使用ClientValidation屬性和我的自定義JavaScript函數。我的主要問題是:當我設置'ControlToValidate'屬性 - 驗證功能停止調用。我已經檢查過兩次,爲驗證器和控件設置ID來驗證,但仍然沒有結果。設置'ControlToValidate'屬性後自定義驗證器停止工作

有誰知道如何解決我的情況?

P.S.最主要的原因,我需要設置ControlToValidate屬性是,我想火丟失後驗證挺直控制重點

UPDATE: 這裏是驗證:

 <asp:CustomValidator ID="cvEmail1" runat="server" ClientValidationFunction="ValidateEmail" 
      Display="Dynamic" EnableClientScript="True" ForeColor="Red" ErrorMessage="This field is required"/> 

和THI是驗證功能:

<script type="text/javascript"> 
    function ValidateEmail(sender, args) { 
     var isValid = myCheck(); 
     args.IsValid = isValid; 
    } 
</script> 
+1

請發佈您的代碼示例。 –

+0

控件是否包含文本或者是否爲空?如果後者是這種情況,你應該設置['ValidateEmptyText'](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.validateemptytext.aspx)爲true。對於ListControls('SelectedIndex == -1')也是如此。 PS:你也可以用'Page_ClientValidate(「validationGroup」)強制客戶端驗證'onblur''。 –

+0

控件不包含空文本。其實它可以,但這不是我的情況 –

回答

1

沒有ControlToValidate屬性集的CustomValidator會在每次回發中驗證。當您建立另一個控件的ID時,它將僅在該控件具有要驗證的值時纔會生效;它不會驗證空文本。將ValidateEmptyText設置爲true以啓用該功能。

此外,你可能想要發佈你的設置,所以我們可以進一步提供幫助。

+0

非常感謝您的評論,它確實對我有用。只有一個人認爲我沒有得到 - 我試圖不是空的ControlToValidate,它不工作,除非我將ValidateEmptyText設置爲true –