Como colocar o recaptcha em um item de catálogo ou Record Producer
Olá Pessoal!
Basicamente nessa solução vamos criar um campo oculto dentro do item de catálogo que será validado como true/yes por um client script e só poderá submeter o formulário após ter validado o recaptcha.
Lembrando que atualmente é suportado o recaptcha V2.
Para fazer isso será preciso seguir os seguintes passos:
> Criar um item de catálogo, adicionando uma váriavel Yes/No com nome Recaptcha(ID:captcha_verification), e deixando ele oculto. Além disso deixar ativado a opção "Incluir nenhum".
> Criar uma váriavel na tabela sys_properties com o nome "recaptcha.site-key" e adicionar na opção value a chave secreta do recaptcha.
> Criar o widget do recaptcha(Widget Público):
Body HTML Template:
</div><input type="text" style=" display: none;"id="myText" name="message" ng-model = "c.message" ng-change="changelink()"></body><script type="text/javascript">function captchaCallback() {var resp = grecaptcha.getResponse();if(resp){document.getElementById("myText").value = "true";var element = document.getElementById('myText');var event = new Event('change');element.dispatchEvent(event);}}</p>
<p>
Server Script:
(function() {/* populate the 'data' object *//* e.g., data.table = $sp.getValue('table'); */data.sitekey = gs.getProperty('recaptcha.site-key');
})();
Client Controller:
api.controller=function($scope,spUtil) {/* widget controller */
var c = this;
https://www.servicenow.com/community/brazil-snug/como-colocar-o-recaptcha-em-um-item-de-cat%C3%A1logo-ou-record/ta-p/2578241