На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Усовершенствованные вычисления и проверка правильности (Enhanced Calculation and Validation, by Steve Muench ). Часть 2

Проверка достоверности внешних ключей

В  предыдущей  посвященной  инфраструктурам  колонке  (сентябрь/октябрь 2007 г.) шла речь о том, как определить  декларативные списки значений (LOV) для атрибута объекта  отображаемого  элемента,  чтобы  помочь  пользователям,  выбирающим  поисковые  значения  для  существующих  внешних  ключей.

  Имейте  в  виду,  что  хотя  эти  LOV  удобны  для  конечных  пользователей,  они  не  являются  заменой  настоящей  проверки  правильности  внешнего  ключа на уровне объекта-сущности. Например, некоторые  компоненты UI, скажем, текстовые поля со всплывающими  LOV,  позволяют пользователю непосредственно  вводить  значение  внешнего  ключа.  Кроме  того,  в  сервис-ориентированной архитектуре внешние ключи в объектах-сущностях  могут быть программно установлены другим  приложением при помощи  интерфейса  Web-сервисов. К  счастью,  новое  правило  проверки  Key  Exists  облегчает  верификацию атрибутов внешнего ключа, быстро делая ту  работу, которая раньше была обычной рутинной работой  программирования.

В  следующем  примере  правило  верификации  Key  Exists добавляется  к объекту-сущности Emp  в  Model  project.  На  странице  General  редактора  Entity  Object  Editor  кликните  кнопкой  Add  Validation  Rule  по  зеленому  знаку  “плюс”  справа  от  заголовка  страницы  Validation  Rules  (на  мониторах  меньшего  размера  вам,  возможно,  придется пролистать вниз, чтобы увидеть этот раздел). В  диалоговом окне Add Validation Rule выберите Key Exists Validator из списка Rule Types. Находясь в закладке Rule  Definition, выберите WorksInDeptAssoc из списка Association Name. Этот выбор обозначает ассоциацию “один ко  многим” между Dept и объектом-сущностью Emp, которая  представляет  подлежащее  верификации  отношение  внешнего ключа. Затем в закладке Failure Handling введите  в поле Message Text сообщение об ошибке Department not  exist. И, наконец, кликните по OK, чтобы определить новое  правило проверки.

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

Картина дня

наверх