2010-07-02 8 views
2

Cela n'a pas arrivé à moi avant, mais ne sont pas déclenché une raison d'événements de validation côté serveur: J'utilise le code ci-dessousvalidation côté serveur Сustom dans ASP.NET + VB.NET

<asp:CustomValidator runat="server" id="RefId" OnServerValidate="Ref_Id" ControlToValidate="txtRefId" ErrorMessage="Referral ID is Required." ></asp:CustomValidator> 

Lorsque je fixe le débogueur sur le code ci-dessous cette fois le code ne sera pas déclenché. plz vérifier le code ci-dessous aussi.

Protected Sub Ref_Id(ByVal source As System.Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) 
    Dim isPresent As String 
    isPresent = MembershipManager.IsReferalApproved(Me.txtRefId.Text) 
    If isPresent <> "" Then 
     addReferralName() 
     args.IsValid = True 
    Else 
     lblRefNotValid.Text = "Referral IDNO does not exist." 
     lblRefNotValid.Visible = True 
     Me.txtRefName.Text = "" 
     args.IsValid = False 
    End If 
End Sub 
+0

Vous pouvez utiliser 'e.Value' au lieu de' Me.txtRefId.Text' parce qu'ils sont les même. 'CustomValidator' prend la valeur de l'attribut' ValidationProperty' de 'ControlToValidate'. Pour 'TexBox', c'est la propriété' Text'. – abatishchev

Répondre

0

Est-ce que votre txtRefId Autopostback et CausesValidation?

+0

Je crois que TextBox ne fait aucune publication (automatique). Seul CustomValidator le fait car il appelle les méthodes code-behind – abatishchev

+0

Vous êtes sur la mauvaise voie. http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.textbox.autopostback.aspx Le validateur ne publie pas. Il est validé sur le Codebehind quand vous faites un Page.Validate() –

1

contrôle de votre validateur personnalisé doit avoir la propriété ValidateEmptyText = True ou la validation ne se déclenche pas sur une zone de texte vide

+0

J'ajoute ValidateEmptyText = True dans mais toujours la validation côté serveur n'est pas déclenchée, La validation se déclenche seulement quand j'élimine Controltovalidate de cette étiquette asp. Mais ma fonction de validation appelle à chaque fois . – Amol

+0

Rajoutez votre controltovalidate. Mettez du texte par défaut dans votre zone de texte. Voir si la validation se déclenche. – MrMagoo

Questions connexes