NAppForm → getValues() nevidí reCaptcha pole
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Akres
- Člen | 3
Jak píšu v titulku. Mám na stránce ve formuláři reCaptcha. Bohužel, když formulář odešlu, k polím recaptcha_response_field a recaptcha_challenge_field se nedostanu. Ani když dám var_dump( $form → getValues() ) tak tam nejsou.
Vytvoření formuláře
public function createComponentContactForm() {
$form = new NAppForm;
$form -> addText("name", "Your name", NULL , 100)
-> addRule(NAppForm::FILLED, "You must fill your name.");
$form -> addText("email", "Your email", NULL, 100)
-> addRule(NAppForm::FILLED, "You must fill your email.")
-> addRule(NAppForm::EMAIL , "That is not a valid e-mail address.");
$form -> addText("subject", "Subject", NULL, 100)
-> addRule(NAppForm::FILLED, "You must fill a subject.");
$form -> addTextArea("message", "Message", 46, 10)
-> addRule(NAppForm::FILLED, "You must fill your name.");
$form -> addUpload( "file" , "Attach a file (optional)");
$form -> addComponent( new ReCaptcha , "recaptcha" );
$form -> addProtection();
$form -> addSubmit("send", "Send");
$form -> getElementPrototype() -> addAttributes( Array( "id" , "contact_form" ) );
$form -> onSuccess[] = callback($this, "processContactForm");
return $form;
}
Vytvoření komponentu ReCaptcha
class ReCaptcha extends NFormControl {
public function __construct( ) {
parent::__construct();
$this -> control = NHtml::el( );
$this -> label = NHtml::el();
$this -> control -> setHtml( recaptcha_get_html(__PUBLIC_KEY__) );
}
}
Nevíte někdo čím to může být?
Editoval Akres (13. 10. 2011 17:12)