APEX 19.2 - запускать проверки перед действием Dynami c - PullRequest
0 голосов
/ 23 марта 2020

Есть страница для создания логина, где имя пользователя является адресом электронной почты. Ни одна из проверок не выполнялась до действия 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, которое отправляет электронное письмо?

1 Ответ

0 голосов
/ 02 апреля 2020

Проверки выполняются нормально после действия динамического c и когда пользователь нажимает кнопку «Создать». Тогда информация есть до отправки. Действительно пытался изменить динамическое действие c PL / SQL, чтобы включить проверки, однако это не сработало. Спасибо всем за внимание и вашу помощь!

...