チュートリアル: カスタム検証の作成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Webフォームの検証により、Webサイトの訪問者がWebフォームのフィールドに正しい値を入力することが保証されます。カスタム検証を実装することも、既存の検証に基づいて新しい検証データを作成することもできます。このチュートリアルでは、名前を検証するカスタム検証を実装する方法について説明します。1行テキスト フィールドの入力文字列で有効な名前が検証されます。
このトピックでは、カスタム検証の作成方法の例を示しますが、正規表現に基づいてName検証を作成するために、カスタム検証を作成する必要はありません。名前バリデーターは、既存のRegularExpressionValidationを再利用して作成できます。
このチュートリアルでは、次の方法について説明します。
-
検証クラスを作成する
-
検証アイテムを作成する
-
フィールド タイプの変更
-
フィールドエディタに検証を追加する
検証クラスを作成する
検証クラスを作成する
カスタム検証を作成する場合は、ValidationElement<string>.
検証クラスを作成するには、次のようにします。
-
NameValidationクラスを作成し、ValidationElement<string>.
-
Sitecore.ExperienceForms.MvcパッケージとSystem.ComponentModel.DataAnnotationアセンブリを参照します。
-
サーバー検証のためのValidateメソッドを実装します。
-
クライアント検証のためにClientValidationRulesプロパティを実装します。
-
Initializeメソッドをオーバーライドして、検証されたモデルのプロパティ (フィールドのタイトルなど) を初期化します。
検証アイテムを作成する
検証アイテムを作成する
検証アイテムを作成するには:
-
/sitecore/System/Settings/Forms/Validationsに移動します。
-
Validationsを右クリックし、Insertをクリックして、Insert from Templateをクリックします。
-
/System/Forms/Validationテンプレートを選択します。
-
Item NameフィールドにName Validationと入力し、Insertをクリックします。
-
作成したアイテムに移動し、設定セクションの[タイプフィールドで、値をクラス タイプ名に設定します。
-
[メッセージフィールドに、contains an invalid nameなどのエラー メッセージを入力します。
フィールド タイプの変更
フィールド タイプの変更
次に、新しい検証を使用するフィールドの種類を変更する必要があります。この例では、1行のフィールド タイプに対して新しい検証のみを使用します。
フィールドの種類を変更するには
-
/sitecore/system/Settings/Forms/Field Types/Basic/Single-line textに移動します。
-
「設定」セクションの「 Allowed Validations 」フィールドで、新しい検証アイテム ( Name validationなど) を選択します。

同じ検証タイプに基づくバリデータは、フォームデザイナーがフィールド上で一緒に有効にしないでください。たとえば、Email validatorとPhone number validatorはどちらも正規表現の検証に基づいているため、特定のフィールドで同時に有効にしないでください。フォーム デザイナーによってフィールドで同じタイプの検証が有効になっないようにするには、同じタイプのバリデーターを許可された検証リストに追加しないことをお勧めします。
フィールドエディタに検証を追加する
フィールドエディタに検証を追加する
ほとんどの要素には、フィールド エディターにFieldValidationコントロールが追加されています。検証がデフォルトで表示されない場合は、フィールドエディタに検証を追加できます。
このチュートリアルの例では、Sitecore Rocks Visual Studioプラグインが必要です。このプラグインは、Visual Studio 2019以前と互換性があります。
-
コア データベースに切り替えて、コンテンツ エディターで/sitecore/client/Applications/FormsBuilder/Components/Layouts/PropertyGridForm/PageSettings/Settingsに移動し、検証を追加する要素をクリックします。
-
ControlDefinitionsフィールドに、FieldValidationコントロール定義を追加します。制御定義は、次の場所にあります。/sitecore/client/Applications/FormsBuilder/Components/Layouts/PropertyGridForm/PageSettings/Common/Validation/FieldValidation


