legacy-knowledge-base
公開されました Jul. 2, 2025

DXP 7.0でWebフォームポートレットにカスタムバリデーションスクリプトを作成する。

written-by

Justin Choi

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

この記事では、Liferay DXP 7.0のWeb Form Portletでカスタムバリデーションスクリプト機能を使用する方法を説明します。 ユーザーの皆さんは、Liferay Portal 6.2で同じ機能を使っていて、どの機能が同じで、どこが変わったのか気になるかもしれませんね。 この手順は、Liferay Marketplace で入手できる 更新された Web Form アプリ のためのものであることにご注意ください。 バリデーション機能は、残念ながら既存のFormsコアモジュールでは利用できません。

解像度

Liferay Portal 6.2 では、デフォルトで、各フィールドでカスタム検証スクリプトを使用することは 無効でした。 管理者は、 ╱liferay-portal-6.2-ee-sp20\tomcat-7.0.62webappsweb-form-portlet-WEB-INF-classes フォルダ内に portlet-ext.properties ファイル( portal-ext.propertiesと間違えないように)を作成して、有効にしなければなりませんでした。

ポータルを再起動すると、Web Formポートレットでカスタムバリデーション機能が利用できるようになりました。
web-form-validation02_-_01.png

DXP 7.0 の利点のひとつは、デプロイされた Web Form アプリでカスタム検証スクリプト機能を有効にすると、ポータルを再起動する必要がないことです 。 通常、デフォルトではこれも無効になっています。 カスタム検証スクリプト機能を有効にするためには、以下のようにします:

  1. Web Form ポートレットが正しく配置され、右側の Add Application メニューに表示されていることを確認します。
  2. コントロールパネル → 設定 → システム設定 → その他に移動します。
  3. クリック web.form.service.configuration.name
  4. チェックボックス バリデーションスクリプトを有効にする を選択します(下部にあります)。
    web-form-validation01_-_02.png
  5. [Update]ボタンをクリックします。

この時点で、Web Formポートレットでカスタム検証スクリプトを使用することができます。 サーバーの再起動は不要です。

例えば、アンケートの回答者に有効な電子メールアドレスの入力が必要な場合を想定してみましょう。

  1. Web Form ポートレットが追加された Web ページに戻ります。
  2. 縦に3つ並んだドットアイコン → 設定をクリックします。
  3. プラス記号 の下にある 名前をクリックします。
  4. 次のように入力します:
    • 名前欄です:電子メール
    • タイプ」ドロップダウンテキストを選択
    • バリデーションスクリプトです:
      var isEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
      if(currentFieldValue.search (isEmail) == -1 && currentFieldValue != '') {
      return false;
      } else {
      return true;
      }
      
    • バリデーションエラーメッセージ有効な電子メールが必要です
  5. 保存する ボタンをクリックします。
  6. Configuration ウィンドウを閉じる
  7. ポートレットに Email フィールドが表示されることを確認する。
  8. 無効な電子メールアドレスでフォームを送信してみてください。 カスタム検証メッセージ Valid Email Required が表示されます。
    web-form-validation03_-_03.png

図3は、ユーザーが不完全な電子メールアドレスを入力した場合に表示されるバリデーションメッセージです。

追加情報

なお、プロパティの表示方法-web.form.service.configuration.name-は、言語キーのため、既知の問題です。 将来のWeb Formアプリのバージョンで修正される予定です。

Webフォームポートレットでバリデーション機能を活用する

did-this-article-resolve-your-issue

legacy-knowledge-base