Documentation

Documentation Menu
Go Back

カスタムバリデーションの追加

Liferay 7.4 U27以降とGA27以降で利用可能

カスタムオブジェクトで、カスタムフィールドとメタデータフィールドの両方にバリデーションを追加できます。 バリデーションは有効なフィールドエントリーを決定するために使用されるルールを設定し、Groovyスクリプト、またはLiferayの式ビルダーを使って定義されます。 各バリデーションには、独自のトリガー、条件、エラーテキストがあり、オブジェクトUIから設定することができます。 バリデーションが開始されると、定義した条件に従ってフィールドエントリーが有効かどうかがチェックされ、無効なエントリーに対してはエラーテキストが表示されます。

カスタムおよびメタデータのオブジェクトフィールドのバリデーションを作成します。

注釈

バリデーションを作成する前に、必要なデータフィールドが存在する必要があります。

以下の手順で、カスタムバリデーションを追加します。

  1. グローバルメニューGlobal Menu)を開き、 [コントロールパネル] タブをクリックして、 [オブジェクト] に進みます。

  2. カスタムオブジェクトの編集を開始します。

  3. Validations] タブに移動し、 追加 ボタン(Add Button)をクリックします。

  4. ラベル を入力し、バリデーションタイプ、つまり Groovy または 式ビルダー を選択します。

    ラベルを入力し、入力値の検証タイプを選択します。

  5. Save] をクリックします。

  6. 新しく作成したバリデーションの編集を開始します。

  7. Conditions] タブに移動して、バリデーションに条件を追加します。

    バリデーションに条件を追加します。

    Groovyを使用する場合、サイドパネルから利用可能なデータフィールドを参照し、条件に追加することができます。 詳細は、Groovyバリデーションの使用を参照してください。

    式ビルダーを使用する場合、サイドパネルからフィールド、演算子、関数を参照し、条件に追加できます。 詳細は、 式ビルダーバリデーションの使用 を参照してください。

    ちなみに

    条件には、複雑な検証をするための複数のフィールドや関数を含めることができます。

  8. ローカライズ可能な エラーメッセージを入力します 。 このメッセージは、バリデーションが開始され、フィールドエントリーが1つ以上の定義された条件を満たさない場合に表示されます。

  9. Basic Info] タブを開き、バリデーションを 有効に します。

  10. Trigger Event] を選択し、フィールドエントリーに対して入力値の検証が実行されるタイミングを決定します。

    注釈

    各検証は、1つのトリガーイベントしか持つことができません。

    バリデーションを有効にし、トリガーイベントを設定します。

  11. Save] をクリックします。

有効にすると、すべての新規オブジェクトエントリーに対して検証が実行されます。

Groovyバリデーションの使用

Groovyバリデーションタイプは、標準Groovyスクリプト機能をすべてサポートしています。 ただし、Groovyの条件を定義する場合は、 invalidFields 変数を使用します。 この変数は、無効なフィールド値に対しては true を、有効なフィールド値に対しては false を返すようにする必要があります。 エラーメッセージは、 invalidFieldstrueを返すときだけ表示されます。

注釈

Groovy型では、現在、チェック構文の検証を行いません。

サイドパネルを使用して、Groovyバリデーションにフィールド要素を追加します。

式ビルダーバリデーションの使用

式ビルダータイプには、規定値フィールド、演算子、関数が用意されており、条件サイドパネルでアクセスすることができます。 要素をクリックすると、その要素が条件エディタに追加されます。 これらの関数は、ブール値を返します。 有効なエントリーを示すtrue もあれば、無効なエントリーを示すtrue もあります。 提供される演算子や関数の完全なリストについては、 式ビルダーバリデーションのリファレンス を参照してください。

重要

式ビルダーバリデーションは、テキスト、数値、日付、ブール値の各フィールドタイプでのみ使用可能です。

サイドパネルを使用して、フィールド、演算子、関数の要素をバリデーションに追加します。

利用可能なフィールドのリファレンス

条件を作成する際、オブジェクトのカスタムフィールドやメタデータフィールドのいずれかを使用できます。 また、リレーションシップの「片側」のリレーションシップフィールドから選択することも可能です。

次の表は、カスタムオブジェクトに含まれるすべてのデフォルトのメタデータフィールドの一覧です。

項目

説明

companyId

エントリーが作成されたポータルインスタンス

createDate

エントリーが作成された日時

externalReferenceCode

エントリーの外部参照コード

groupId

エントリーが作成されたサイトID

lastPublishDate

エントリーが最後に公開された日付

modifiedDate

エントリーが最後に更新された日付

mvccVersion

エントリーのMVCCバージョン

objectDefinitionId

エントリーのオブジェクトのID

objectEntryId

エントリーのID

status

エントリーのワークフローステータス

statusByUserId

ワークフローで割り当てられたユーザーのID

statusByUserName

ワークフローで割り当てられたユーザーの名前

statusDate

ワークフローステータスが最後に更新された日付

userEmailAddress

エントリー作成者のメールアドレス

userFirstName

エントリー作成者の名

userId

エントリー作成者のID

userLastName

エントリー作成者の姓

userName

エントリー作成者のユーザー名

uuid

エントリーの重複しないユニバーサルID

注釈

カスタムフィールドの他に、以下のメタデータフィールドが編集サイドバーに一覧表示され、簡単にアクセスできるようになっています。

  • 作成者 (userName)

  • 作成日 (createDate)

  • ID (objectEntryId)

  • 編集日時 (lastPublishDate)

  • ユーザーのメールアドレス (userEmailAddress)

  • ワークフローステータス (status)