Documentation

Documentation Menu
Go Back

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

利用可能な Liferay 7.4 U27+/GA27+

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

カスタムおよびシステムObjectフィールドのバリデーションを作成します。

重要

現在、Groovy スクリプトの検証は、Liferay Experience Cloud Self-Managed と Liferay DXP Self-Hosted でのみ利用可能です。

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

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

  2. オブジェクト定義の編集を開始します。

    注釈

    Liferay 7.4 U38+/GA38+ からは、システムオブジェクトにカスタムバリデーションを追加することができます。

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

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

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

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

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

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

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

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

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

    Tip

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

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

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

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

    注釈

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

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

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

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

Groovyバリデーションの使用

Groovyバリデーションタイプは、標準Groovyスクリプト機能をすべてサポートしています。 ただし、Groovyの条件を定義する場合は、 invalidFields 変数を使用します。 LiferayはinvalidFieldstrueを返す場合にのみ、確認エラーメッセージを表示します。

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

Liferay 7.4 U33+とGA33+では、Liferayは GroovyShellクラス を使って、 [保存] をクリックしたときにGroovy スクリプトの構文が有効であるかどうかをチェックします。 スクリプトが無効な場合、Liferayはエラーメッセージを表示します。

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

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

重要

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

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

Liferay 7.4 U33+とGA33+では、 [保存] をクリックすると、Liferayは式が有効な構文であるかどうかをチェックします。 式が無効な場合、Liferayはエラーメッセージを表示します。

式ビルダーの演算子

次の表は、式ビルダーの検証で利用できる演算子の一覧です。

演算子

説明

And ( AND )

依存した関係を表すのに使用される等位接続詞

Divided By ( / )

除算の数学演算子

Minus ( - )

除算の数学演算子

Or ( OR )

独立した関係を表すのに使用される等位接続詞

Plus ( + )

加算の数学演算子

Multiply ( * )

乗算の数学演算子

式ビルダーの関数

次の表は、利用可能な式ビルダー関数と互換性のあるフィールドタイプの一覧です。

演算子

テキストフィールド

数値フィールド

日付フィールド

日付を比較

連結

条件

が以下を含む

が以下を含まない

未来の日付

URL である

Is an Email

小数である

が空の場合

が以下と等しい

以上

Is Greater Than or Equal To

整数である

以下

Is Less Than or Equal To

等しくない

一致

過去の日付

範囲

合計

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

7.4 U41+/GA41+ 用

条件を作成する際、Object のカスタムフィールドまたはシステムフィールドのいずれかを使用することができます。 また、リレーションシップの「片側」のリレーションシップフィールドから選択することも可能です。

以下の表は、カスタムオブジェクトで使用できるすべてのデフォルトフィールドの一覧です。

項目

説明

companyId

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

createDate

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

externalReferenceCode

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

groupId

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

lastPublishDate

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

modifiedDate

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

mvccVersion

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

objectDefinitionId

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

objectEntryId

エントリーのID

status

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

statusByUserId

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

statusByUserName

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

statusDate

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

userId

エントリー作成者のID

userName

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

uuid

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

システムオブジェクトは、上記の表と重複する部分もありますが、独自のデフォルトフィールドを持っています。

追加情報