Есть страница для создания логина, где имя пользователя является адресом электронной почты. Ни одна из проверок не выполнялась до действия Dynami c при нажатии кнопки.
Письменные и очень необходимые проверки:
- Формат электронной почты: регулярное выражение, указывающее, правильно ли отформатировано введенное письмо (т. е. не забыли ли часть письма). Такая же проверка формата электронной почты работает правильно на других страницах.
- Пароль: несколько проверок пароля - не менее 8 символов, содержат как верхний, так и нижний регистр, имеет как минимум один номер и хотя бы один специальный символ
Это код PL / SQL для действия Dynami c, которое необходимо запустить после проверок - когда на странице нет ошибок. Установите для параметра «Состояние на стороне сервера» для этого динамического действия c значение «Встроенные ошибки проверки НЕ отображаются». Однако, поскольку это выполняется первым, ошибок проверки никогда не бывает. Это динамическое действие c вызывает процедуру пакета базы данных и отправляет код подтверждения по электронной почте на введенное имя пользователя (адрес электронной почты):
declare
vCode varchar2(5) := dbms_random.string('X',5);
begin
:P3_SENTCODE := vCode;
MY_PKG.EmailCode(v('P3_USERNAME'), vCode);
end;
Письмо отправлено, однако нет из валидаций запустить вообще. Он даже отправит на несуществующее электронное письмо, например: help123@test (неправильно отформатировано, нет записи о том, что будет после «теста»). Как запустить проверки до действия dynamici c, которое отправляет электронное письмо?