カスタムバリデーションの追加¶
Liferay 7.4 U27以降とGA27以降で利用可能
カスタムオブジェクトで、カスタムフィールドとメタデータフィールドの両方にバリデーションを追加できます。 バリデーションは有効なフィールドエントリーを決定するために使用されるルールを設定し、Groovyスクリプト、またはLiferayの式ビルダーを使って定義されます。 各バリデーションには、独自のトリガー、条件、エラーテキストがあり、オブジェクトUIから設定することができます。 バリデーションが開始されると、定義した条件に従ってフィールドエントリーが有効かどうかがチェックされ、無効なエントリーに対してはエラーテキストが表示されます。
注釈
バリデーションを作成する前に、必要なデータフィールドが存在する必要があります。
以下の手順で、カスタムバリデーションを追加します。
グローバルメニュー(
)を開き、 [コントロールパネル] タブをクリックして、 [オブジェクト] に進みます。
カスタムオブジェクトの編集を開始します。
[Validations] タブに移動し、 追加 ボタン(
)をクリックします。
ラベル を入力し、バリデーションタイプ、つまり Groovy または 式ビルダー を選択します。
[Save] をクリックします。
新しく作成したバリデーションの編集を開始します。
[Conditions] タブに移動して、バリデーションに条件を追加します。
Groovyを使用する場合、サイドパネルから利用可能なデータフィールドを参照し、条件に追加することができます。 詳細は、Groovyバリデーションの使用を参照してください。
式ビルダーを使用する場合、サイドパネルからフィールド、演算子、関数を参照し、条件に追加できます。 詳細は、 式ビルダーバリデーションの使用 を参照してください。
ちなみに
条件には、複雑な検証をするための複数のフィールドや関数を含めることができます。
ローカライズ可能な エラーメッセージを入力します 。 このメッセージは、バリデーションが開始され、フィールドエントリーが1つ以上の定義された条件を満たさない場合に表示されます。
[Basic Info] タブを開き、バリデーションを 有効に します。
[Trigger Event] を選択し、フィールドエントリーに対して入力値の検証が実行されるタイミングを決定します。
注釈
各検証は、1つのトリガーイベントしか持つことができません。
[Save] をクリックします。
有効にすると、すべての新規オブジェクトエントリーに対して検証が実行されます。
Groovyバリデーションの使用¶
Groovyバリデーションタイプは、標準Groovyスクリプト機能をすべてサポートしています。 ただし、Groovyの条件を定義する場合は、 invalidFields
変数を使用します。 この変数は、無効なフィールド値に対しては true
を、有効なフィールド値に対しては false
を返すようにする必要があります。 エラーメッセージは、 invalidFields
が true
を返すときだけ表示されます。
注釈
Groovy型では、現在、チェック構文の検証を行いません。
式ビルダーバリデーションの使用¶
式ビルダータイプには、規定値フィールド、演算子、関数が用意されており、条件サイドパネルでアクセスすることができます。 要素をクリックすると、その要素が条件エディタに追加されます。 これらの関数は、ブール値を返します。 有効なエントリーを示すtrue
もあれば、無効なエントリーを示すtrue
もあります。 提供される演算子や関数の完全なリストについては、 式ビルダーバリデーションのリファレンス を参照してください。
重要
式ビルダーバリデーションは、テキスト、数値、日付、ブール値の各フィールドタイプでのみ使用可能です。
利用可能なフィールドのリファレンス¶
条件を作成する際、オブジェクトのカスタムフィールドやメタデータフィールドのいずれかを使用できます。 また、リレーションシップの「片側」のリレーションシップフィールドから選択することも可能です。
次の表は、カスタムオブジェクトに含まれるすべてのデフォルトのメタデータフィールドの一覧です。
項目 |
説明 |
---|---|
|
エントリーが作成されたポータルインスタンス |
|
エントリーが作成された日時 |
|
エントリーの外部参照コード |
|
エントリーが作成されたサイトID |
|
エントリーが最後に公開された日付 |
|
エントリーが最後に更新された日付 |
|
エントリーのMVCCバージョン |
|
エントリーのオブジェクトのID |
|
エントリーのID |
|
エントリーのワークフローステータス |
|
ワークフローで割り当てられたユーザーのID |
|
ワークフローで割り当てられたユーザーの名前 |
|
ワークフローステータスが最後に更新された日付 |
|
エントリー作成者のメールアドレス |
|
エントリー作成者の名 |
|
エントリー作成者のID |
|
エントリー作成者の姓 |
|
エントリー作成者のユーザー名 |
|
エントリーの重複しないユニバーサルID |
注釈
カスタムフィールドの他に、以下のメタデータフィールドが編集サイドバーに一覧表示され、簡単にアクセスできるようになっています。
作成者 (
userName
)作成日 (
createDate
)ID (
objectEntryId
)編集日時 (
lastPublishDate
)ユーザーのメールアドレス (
userEmailAddress
)ワークフローステータス (
status
)