有一个页面来创建登录,其中用户名是电子邮件地址。在按钮按下的动态操作之前没有任何验证运行。
书面的,非常需要的验证是:
- 电子邮件格式:表示输入的电子邮件格式是否正确(即没有忘记电子邮件的一部分)的正则表达式。这种相同的电子邮件格式验证在其他页面上也能正常工作。
- 密码:密码的多重验证 - 最少 8 个字符,包含大小写,至少有一个数字和至少一个特殊字符
这是需要在验证后运行的动态操作的 PL/SQL 代码 - 当页面上没有错误时。已将此动态操作的服务器端条件设置为“未显示内联验证错误”。但是,因为它首先运行,所以永远不会出现验证错误。此动态操作调用 DB 包过程并通过电子邮件向输入的用户名(电子邮件地址)发送验证码:
declare
vCode varchar2(5) := dbms_random.string('X',5);
begin
:P3_SENTCODE := vCode;
MY_PKG.EmailCode(v('P3_USERNAME'), vCode);
end;
电子邮件已发送,但根本没有运行任何验证。它甚至会发送到一个不存在的电子邮件,例如:help123@test(格式不正确,“test”之后没有输入)。如何在发送电子邮件的动态操作之前运行验证?