Validateur personnalisé de validation de pas de tir pour la zone de texte
J'ai créé un validateur personnalisé pour un maximum de caractères pour une zone de texte multiligne dans ASP.Net.
Ci-dessous le code que j'utilise.
<asp:CustomValidator ID="cvPersonality" runat="server" ControlToValidate="txtPersonality"
Display="Dynamic" ErrorMessage="*Maximum Characters 200"
OnServerValidate="cvPersonality_ServerValidate"></asp:CustomValidator>
Protected Sub cvPersonality_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
Dim strDesc As String = Me.txtPersonality.Text
If Len(strDesc) > 200 Then
args.IsValid = False
Else
args.IsValid = True
End If
End Sub
Grâce
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le code suivant pour la validation côté client, comme un complément à la côté serveur un. Du côté client, la validation est utile dans certains cas simples ( comme max la longueur du texte ), car elle réduit la surcharge du serveur, il n'est pas redondant publication juste pour une simple vérification. Exemple de code:
S'il vous plaît, faites attention à la RequiredFieldValidator, c'est pour s'assurer qu'il n'y est entré du texte dans la zone de texte. Pour une raison quelconque, le CustomValidator ne pas attraper quand args.De la valeur.longueur == 0;
N'oubliez pas de définir cette propriété sur le CustomValidator...
vous devez ajouter le code suivant à votre bouton de soumission:
la validation personnalisée est, par défaut, un serveur de contrôle de validation et vous devez arrêter le traitement si la page validateurs ne sont pas valides.
Tout d'abord, comment savez-vous que le validateur n'est pas à la cuisson. Avez-vous déboguer l'application et de vérifier si les
cvPersonality_ServerValidate()
méthode est appelée?Deuxième, vous n'avez pas un programme de validation côté client et, par conséquent, il se déclenche uniquement quand il y a une publication.
Troisième, en regardant le balisage, il semble que vous n'avez de la propriété ErrorMessage mis en place. Qui affiche seulement si vous avez le contrôle ValidationSummary sur la page. Vous devez également définir la propriété text ou ont quelque chose à montrer à l'intérieur de la balise balise pour le validateur, généralement un astérisque. comme indiqué ci-dessous: