私はsymfonyの私の連絡先フォームにrecaptchaシステムを持っています。そのために私はEWZRecaptchaBundleを使用します。しかし、私はrecaptchaを実行するためのたくさんのものを試していますが、私のフォームは、検証recaptchaウィジェット(目に見えないと可視)をテストせずに実行されますsymfonyのEWZRecaptchaBundleを使ったRecaptcha google
recaptchaを正しく実行するのを助けてくれますか?私の送信フォームはrecaptchaを扱わずに実行されますが、私はウィジェットを正しく表示しています。
config.yml
ewz_recaptcha:
public_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
private_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
locale_key: %kernel.default_locale%
locale_from_request: false
enabled: true
verify_host: true
ajax: false
ContactType
->add('recaptcha', EWZRecaptchaType::class, array(
'attr' => array(
'options' => array(
'theme' => 'light',
'type' => 'image',
'size' => 'invisible',
'defer' => true,
'async' => true,
'callback' => 'onReCaptchaSuccess',
'bind' => 'contact_submit',
)
),
'mapped' => false,
'constraints' => array(
new RecaptchaTrue()
)
)
)
// ->add('recaptcha', EWZRecaptchaType::class)
->add('submit', SubmitType::class, [
'label' => 'form.submit.send',
'attr' => ['class' => 'btn1 form_recaptcha_submit', 'id' => 'contact_submit']
])
小枝テンプレート
{{ form_widget(form.recaptcha, { 'attr': {
'options' : {
'theme': 'light',
'type': 'image',
'size': 'invisible'
},
} }) }}
接触(エンティティ)
私は私のフィールドreCAPTCHAの
private $recaptcha;
- を持っているが、私は正しく表示ウィジェットreCAPTCHAのグーグルを持っていますが、私のこれでは動作しませんフォームを送信します。決してない。
- 私は(エンティティクラスに検証することも可能である)あなたの形式で検証を定義する必要があり、GoogleのウェブサイトのreCAPTCHAの
私が既に持っている非常に類似したコード。送信ボタンの動作は以前と同じです。 recaptchaシステムでは動作しません。ウィジェットは表示されますが、フォームやその他のものに送信されるデータはありません。 – darkomen
そうすれば、あなたの制御欄に if($ contactForm-> isSubmitted()&& $ contactForm-> isValid()) { die( 'hello'); } 文字列「hello」が表示されません。 「はい」の場合、再確認が確認されます。 – Mz1907
recaptchaの確認のためのテストロボットの動作は、どのように正しく動作しますか? – darkomen