我已使用ember-g-recaptcha
在我的ember应用中安装了ember install ember-g-recaptcha
插件。我能够在UI中看到recaptcha。但是如何检查是否选中了该框。如果未选中,我的表单不应提交,并应显示错误消息。
我想在响应为空时显示此错误消息。我在我的控制器中写了这个:
onCaptchaExpired() {
$("#message").show();
$("#message").css("color", "red");
$("#message").html("Recaptcha response cannot be empty.");
},
答案 0 :(得分:1)
首先,真的应该依靠ember
来管理DOM,而不是使用jQuery
手动执行。
一个简单的解决方案可能是在g-recaptcha
组件触发操作时切换布尔值:
模板:
{{g-recaptcha onSuccess=(action "onCaptchaResolved") onExpired=(action "onCaptchaExpired")}}
{{captchaError}}
<button disabled={{isInvalid}} />
成分:
Ember.Component.extend({
isInvalid: true,
captchaError: null,
actions: {
onCaptchaResolved(captchaResult) {
this.set('isInvalid', false);
},
onExpired() {
this.set('isInvalid', true);
this.set('captchaError', 'Recaptcha response cannot be empty.')
}
}
})
这可以让你知道如何做到这一点。