验证不工作点击提交按钮,但提交过程后,为什么这样?

时间:2017-02-01 11:34:35

标签: oracle oracle-apex oracle-apex-5

我对文本字段进行了验证。按下提交页面按钮后,我希望验证检查下面的代码,如果失败则返回plsql文本。一旦验证返回null(如同没有问题),就应该发生提交后处理。问题是,提交后的过程仍然发生,验证只生成>> ELSE RETURN'电子邮件地址无效';而不是任何其他的,例如如果字段中没有文字,则电子邮件地址无效。哦,我也有一个服务器端条件在字段上工作时单击按钮。

非常感谢帮助。谢谢。

编辑:感谢您的编辑。在我忘记将它添加到这篇文章之前,我确实已经拥有了BEGIN。问题仍在继续。

BEGIN

IF (INSTR(:P101_NEW_2, '@gmail.com') > 0)  THEN RETURN NULL;
ELSIF (INSTR(:P101_NEW_2,'@hotmail.com) > 0) THEN RETURN NULL;
ELSIF (INSTR(:P101_NEW_2,'@yahoo.com') > 0)THEN RETURN NULL;

ELSIF (:P101_NEW_2 = NULL) THEN RETURN 'Input Email Address';
ELSIF (INSTR(:P101_NEW_2, '@gmail.com') < 1) OR (INSTR(:P101_NEW_2,'@hotmail.com') < 1) OR (INSTR(:P101_NEW_2,'@gmail.com') < 1) THEN RETURN 'Input Email Address';
ELSE RETURN 'Invalid email address';

END IF;
COMMIT;
END;

2 个答案:

答案 0 :(得分:0)

我相信我已经解决了。它使用PL / SQL函数进行验证(返回文本)。我没有创建一个函数,你可以从上面的代码中看到。我将创建一个函数并包含该代码,让您知道我是如何进行的。

答案 1 :(得分:0)

电子邮件地址验证通常会验证格式,但这取决于您。

viewDidLayoutSubviews

验证的目标是true / null,因此如果出现问题,则根据类型返回false或显示消息。

如果您比较not REGEXP_LIKE(:P1_EMAIL, '^[^.]([a-zA-Z0-9_''\+\.\-]+)[^.]@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9\-]+)*(\.[a-zA-Z]{2,})$') ,它将始终返回false。什么都不是= null。它应该是:P1_EMAIL = null

你的倒数第二个条件也可能是:P1_EMAIL is null,因为你已经检查了内容和无效。

如果您有声明或异常部分,则只需要开始/结束。

很少需要在APEX中提交。