Comment faire fonctionner reCAPTCHA avec un groupe de validation dans ASP.Net (captcha)
Je suis en utilisant le ASP.Net plugin et de contrôle fournis par reCAPTCHA. Je peux obtenir avec succès le contrôle de travailler si le bouton de soumission du formulaire web n'est pas dans un validationgroup. Il n'y a pas de validationgroup attribut pour le reCAPTCHA de contrôle.
Personne n'a eu de succès avec ce ou toutes les solutions pour obtenir le reCAPTCHA contrôle de travailler quand il y a un validationgroup sur le formulaire web?
source d'informationauteur Jason Kanaris
Vous devez vous connecter pour publier un commentaire.
ReCAPTCHA ASP.NET plug-in est écrit pour être compatible avec ASP.NET 1.1, ce qui signifie que le
ValidationGroup
concept (ce qui est nouveau dans ASP.NET 2.0) n'est pas pris en charge. Mais le plug-in est livré avec code source téléchargeablede sorte que vous pouvez modifier vous-même à l'appui deValidationGroup
.Dans ASP.NET 2.0, les validateurs devrait hériter de
BaseValidator
et de mettre en œuvreIValidator
ce qui signifie que vous devriez changement la RecaptchaControl type d'hériter deBaseValidator
au lieu deWebControl
. Vous devrez alors modifier un peu le code pour mettre en œuvre toutes les méthodes et propriétés définies dansBaseValidator
. Ensuite, vous pouvez utiliser ce nouveau contrôle sur votre page au lieu de cela, qui prend désormais en chargeValidationGroup
.Pensé que je venais de se développer sur les commentaires de quelques autres avec un certain code de travail...
Et le code derrière...
Peut-on penser d'une façon plus simple de le faire? Bravo à Vidalik pour les pensées sur l'utilisation de OnServerValidate.
Vous pouvez ajouter CustomValidator, de mettre en œuvre OnServerValidate qui permettrait de valider le ReCAPTCHA de données. CustomValidator peut être attribué à toute ValidatorGroup.
Cela a fonctionné pour moi...
Ajouter un validateur personnalisé avec le bon groupe de validation.
Son ServerValidate appel de la méthode..
Puis cochez la case ci-dessous avant votre traitement principal...
si la Page.IsValid && recaptcha.IsValid)
{
respose.write("valide");
}
HTH.
RemotecUkla suggestion a fonctionné pour moi sans ajout de validation personnalisée.
À faire côté client requis validation et sans altérer le reCaptcha code source, j'ai ajouté un CustomValidator de ma forme et créé une fonction JavaScript pour valider le champ de saisie de texte.
Pour trouver le
ID
générer le champ de saisie, j'ai regardé le code source de la page et a remarqué que le champ de saisie est toujoursrecaptcha_response_field
. (Corrigez-moi si je me trompe), Sachant cela, j'ai été en mesure de créer le JavaScript (à l'aide de JQuery et d'une fonction personnalisée pour vérifier la validité d'un contrôle).REMARQUE: Si les développeurs de modifier la sortie de reCaptcha de contrôle, vous ne pouvez pas être au courant du changement qui en résulte dans le programme de validation de saisir de travail.
Voir ReCaptchaImage et ReCaptchaValidator contrôles en cours de partie de Altairis INTERFACE Web Toolkit: http://altairiswebui.codeplex.com/
Il est open source ensemble de composants web, contenant tout à fait décent et ASP.NET conforme aux normes (si je peut dire qu'il soit l'auteur 🙂 la mise en œuvre de ReCaptcha pour les Formulaires Web.