オブジェクト・レベル検証ルールの定義
オブジェクト・レベルの検証ルールは、任意のビジネス・オブジェクトに対して定義できる制約です。 フレームワークがオブジェクトを検証しようとすると評価されます。
オブジェクト・レベルのルールを使用して、オブジェクトの複数のフィールドに依存する条件を適用します。 これにより、ユーザーが値を割り当てる順序に関係なく、ルールが一貫して適用されます。 記述する式(または長いスクリプト)は、オブジェクトが有効かどうかを示すboolean
値を返す必要があります。 ルールがtrue
を返す場合、同じオブジェクト上の他のすべてのオブジェクト・レベル・ルールがtrue
を返すかぎり、オブジェクト検証は成功します。 ルールでfalse
が返された場合、オブジェクトは保存されず、構成されたエラー・メッセージがエンド・ユーザーに表示されます。
たとえば、Priority
およびDueDate
フィールドを含むTroubleTicket
オブジェクトを考えてみます。 優先度1または2のトラブル・チケットを期日なしで保存できないことを検証するには、オブジェクト・レベル・ルールは次のようになります:
-
ルール名:
Validate_High_Priority_Ticket_Has_DueDate
-
エラー・メッセージ:
A trouble ticket of priority 1 or 2 must have a due date
ルール本文
// Rule depends on two fields, so must be written as object-level rule
if (Priority <= 2 && DueDate == null) {
// Signal to highlight the DueDate field on the UI as being in error
adf.error.addAttribute('DueDate')
return false
}
return true