1. 検証

「必須」チェックボックスフィールドバリデーターを実装する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

「マーケター向けWebフォーム」モジュールでは、デフォルトでは、「 Check box 」フィールドはrequired検証ルールをサポートしていません。

このトピックでは、このフィールドを次の方法でrequiredする方法について説明します。

  • Check boxフィールドを使用し、必要に応じてマークを付けます

  • Check boxフィールドのカスタム検証を作成する

メモ

これはWebフォームにのみ有効で、MVCフォームはサポートされていません。

チェックボックスフィールドを使用し、必要に応じてマークします

フィールドを使用してCheck boxフィールドをrequiredにするには、次のようにします。

  1. Check boxフィールドをWebフォームに追加します。

  2. リストに1つのアイテムを追加します。

  3. このCheck boxを必要に応じてマークします。

  4. Save」をクリックします。

「チェックボックス」フィールドのカスタム検証を作成する

Check boxフィールドのカスタムバリデータを作成するには:

  1. System.Web.UI.WebControls.BaseValidatorクラスから継承されたクラスを作成します。コード サンプルを参照してください。

    class CheckboxValidation : BaseValidator
        {
            protected CheckBox ctrToValidate;
            protected CheckBox CheckBoxToValidate
            {
                get
                {
                    if (ctrToValidate == null)
                    {
                        ctrToValidate = base.FindControl(ControlToValidate) as CheckBox;
                    }
                    return ctrToValidate;
                }
            }
            protected override bool ControlPropertiesValid()
            {
                if (base.ControlToValidate == null || base.ControlToValidate.Length == 0)
                {
                    throw new HttpException(string.Format("The ControlToValidate property of '{0}' cannot be blank.", this.ID));
                }
                if (this.CheckBoxToValidate == null)
                {
                    throw new HttpException(string.Format("The CheckBoxValidator can only validate controls of type CheckBox."));
                }
                return true;
            }
            protected override bool EvaluateIsValid()
            {
    this.ErrorMessage = string.Format(this.ErrorMessage, "{0}", CheckBoxToValidate.Text);
                //Validate whether checkbox is checked
                return this.CheckBoxToValidate.Checked == true;
            }
        }
  2. コンテンツ ツリーでsitecore/System/Modules/Web Forms for Marketers/Settings/Validationフォルダーに移動し、BaseValidatorボタンをクリックしてアイテムを作成します。

    アイテムはBaseValidatorテンプレートに基づいている必要があります。

  3. Messageダイアログで、新しいアイテムの名前を入力します。OKをクリックします。

  4. 右側のペインのAssemblyフィールドとClassフィールドに、カスタム アセンブリの関連する値を入力します。

  5. ValidatorセクションのError Messageフィールドに、次の文字列を入力します。The {0} check box must be checked.

  6. Textフィールドに、関連するメッセージを入力します。このフィールドが空白の場合、その値はError Messageフィールドの値と同じです。

  7. チェックボックスの項目(/sitecore/System/Modules/Web Forms for Marketers/Settings/Field Types/Simple Types/checkbox)を複製し、名前を「 CheckBoxRequired」に変更します。

    手記

    CheckBoxRequired項目では、Requiredチェック ボックスをオンにしないでください。

  8. CheckBoxRequired項目(/sitecore/system/modules/web forms for marketers/settings/field types/simple types/CheckBoxRequired)で、Validationフィールドでカスタムバリデーターを選択します。

この記事を改善するための提案がある場合は、 お知らせください!