Como fazer validação de um campo de e-mail no Oracle Forms 6i?

Para realizar a validação de um campo de e-mail no Oracle Forms 6i teremos que criar um gatilho “WHEN-VALIDATE-ITEM” no campo que será validado. Toda vez que o usuário tentar salvar o formulário ou preencher este campo e remover o foco dele, o evento abaixo será ativado.

DECLARE
BEGIN

	IF :TXT_EMAIL IS NOT NULL THEN
	
		IF ( nomedoschema.VALIDAR_EMAIL(:TXT_EMAIL) = FALSE ) THEN
			// Mensagem de alerta informando que o campo não contém um e-mail válido;
			raise form_trigger_failure;
		END IF;

	END IF;

END;

O código abaixo é um procedimento PL/SQL armazeando no banco que será executado no momento da validação (nomedoschema.VALIDAR_EMAIL):

CREATE OR REPLACE FUNCTION VALIDAR_EMAIL(pstr_email IN VARCHAR2) RETURN BOOLEAN
IS

    lint_emailValido NUMBER(1);

BEGIN

    SELECT
        1 INTO lint_emailValido
    FROM
        DUAL
    WHERE
        regexp_like(pstr_email ,'^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*(.[a-zA-Z]{2,4})$');
  
    RETURN TRUE;

EXCEPTION

    WHEN no_data_found THEN RETURN FALSE;
    WHEN others THEN RETURN FALSE;

END VALIDAR_EMAIL;

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *