How do I add a recaptcha form element, or other custom form element?

  • Page Owner: Not Set
  • Last Reviewed: 2022-06-08

How do I add a custom form element with validator?

This is a placeholder I'll come and rewrite it later.


Answer

namespace Icertis.Web.Business.Forms.Validators
{
    public class RecaptchaV3Validator : ElementValidatorBase
    {
        public override bool AvailableInEditView => false;
        public override bool? Validate(IElementValidatable targetElement)
        {
            var recaptchaElement = targetElement as RecaptchaV3Block;
            if (recaptchaElement == null)
            {
                return false;
            }
            var token = recaptchaElement.GetSubmittedValue().ToString();
            return RecaptchaService.Validate(token);
        }
        public override IValidationModel BuildValidationModel(IElementValidatable targetElement)
        {
            var model = base.BuildValidationModel(targetElement);
            if (Model != null)
            {
                Model.Message = "Failed to validate Recaptcha";
            }
            return Model;
        }
    }
}