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

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

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

バリデーションは、有効なフィールドエントリを決定するためのルールを設定します。 各バリデーションには、独自のトリガー、条件、エラーテキストがあり、オブジェクトUIから設定することができます。 Groovyスクリプト または Liferay式 を使ってバリデーションを定義することができます。

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

important

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

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

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

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

    note

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

  3. Validations タブを開き、 Add( 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 Script の機能をすべてサポートしています。 条件を定義する場合、 invalidFields 変数を使用する必要があります。 LiferayはinvalidFieldstrueを返す場合にのみ、確認エラーメッセージを表示します。

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

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

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

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

important

Expression Builderの検証は、テキスト、数値、日付、およびブーリアンフィールドタイプにのみ使用できます。

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

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

式ビルダーの演算子

この表は、Expression Builderの検証で利用できる演算子の一覧です。

演算子 説明
And ( AND ) 依存した関係を表すのに使用される等位接続詞
Divided By ( / ) 除算の数学演算子
Minus ( - ) 除算の数学演算子
Or ( OR ) 独立した関係を表すのに使用される等位接続詞
Plus ( + ) 加算の数学演算子
Multiply ( * ) 乗算の数学演算子

式ビルダーの関数

この表は、利用可能なExpression Builder関数とその互換性のあるフィールドタイプの一覧です。

演算子 テキストフィールド 数値フィールド 日付フィールド
日付を比較
連結
条件
が以下を含む
含まない
未来の日付
URL である
Is an Email
小数である
が空の場合
が以下と等しい
以上
Is Greater Than or Equal To
整数である
以下
Is Less Than or Equal To
等しくない
一致
過去の日付
範囲
合計

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

7.4 U41+/GA41+ 用

条件を構成する際には、オブジェクトのカスタムフィールドやシステムフィールドのいずれかを使用することができます。 また、1対多のリレーションの子側のリレーションシップフィールドから選択することも可能です。

以下は、カスタムオブジェクトで利用可能なすべてのデフォルトフィールドです。

項目 説明
companyId エントリーが作成されたポータルインスタンス
createDate エントリーが作成された日時
externalReferenceCode エントリーの外部参照コード
groupId エントリーが作成されたサイトID
lastPublishDate エントリーが最後に公開された日付
modifiedDate エントリーが最後に更新された日付
mvccVersion エントリーのMVCCバージョン
objectDefinitionId エントリーのオブジェクトのID
objectEntryId エントリーのID
status エントリーのワークフローステータス
statusByUserId ワークフローで割り当てられたユーザーのID
statusByUserName ワークフローで割り当てられたユーザーの名前
statusDate ワークフローステータスが最後に更新された日付
userId エントリー作成者のID
userName エントリー作成者のユーザー名
uuid エントリーの重複しないユニバーサルID

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

追加情報