logo

NJP

Como colocar o recaptcha em um item de catálogo ou Record Producer

Import · Mar 04, 2024 · article

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(&quot;myText&quot;).value = &quot;true&quot;;var element = document.getElementById(&#39;myText&#39;);var event = new Event(&#39;change&#39;);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;

View original source

https://www.servicenow.com/community/brazil-snug/como-colocar-o-recaptcha-em-um-item-de-cat%C3%A1logo-ou-record/ta-p/2578241