APEX проверять только по алфавиту - PullRequest
0 голосов
/ 24 августа 2018

В APEX 5.1 поиск сценария проверки помогает разрешить использование только буквенных символов и пробела или дефиса для имени человека. (т.е. не допускаются никакие цифры или специальные символы, кроме возможного тире).

У меня есть рабочая проверка для другого поля, которое допускает буквенно-цифровые, но не специальные символы! Тип проверки: «Элемент НЕ содержит символов в значении». В поле значения помещается следующее ... !@#$%^&*()-_+=[]{};:'",<.>/?\|

1 Ответ

0 голосов
/ 24 августа 2018

Я бы предложил вам использовать проверку, тип которой является функцией , которая возвращает логическое значение и выглядит следующим образом:

return regexp_like(:P1_ITEM_NAME, '^[A-Za-z -]+$');

Что это делает?

  • ^ привязывается к началу строки
  • A-Z принимает заглавные буквы
  • a-z принимает строчные буквы
  • space is ..... ну, пробел
  • - - это ... ну, дефис
  • + - повторять эти символы много раз
  • $ привязан кконец строки

Например:

SQL> with test (item) as
  2    (select 'aBCd'        from dual union  -- ok
  3     select 'little foot' from dual union  -- ok
  4     select 'reb-ecca'    from dual union  -- ok
  5     select 'lit123foot'  from dual union  -- wrong
  6     select 'abc$3'       from dual union  -- wrong
  7     select 'xy.)z'       from dual union  -- wrong
  8     select '123-234'     from dual        -- wrong
  9    )
 10  select item
 11  from test
 12  where regexp_like(item, '^[A-Za-z -]+$');

ITEM
-----------
aBCd
little foot
reb-ecca

SQL>
...