本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 06

項目間の一致比較

確認用の入力が元の項目と同じ値かをチェックする方法を説明します。

最終更新日:

入力チェックの小目次へ

1. このページで伝える機能

メールアドレスと確認用メールアドレスなど、同じモデル内の二つの項目が一致するかを確認できます。不一致のとき、修正してほしい項目にメッセージを付けられます。

2. Wagby11で実現できること

メール確認に異なる値を入力するとエラーになり、保存できません。

メールアドレスとメール確認の不一致を知らせる例。
メールアドレスとメール確認の不一致を知らせる例。

両方を同じ値に直すと保存できます。この例は両項目を必須にもしており、空欄で比較を回避できない構成です。

同じメールアドレスと、条件を満たす日付を保存した画面。
同じメールアドレスと、条件を満たす日付を保存した画面。

3. AIへの指示例

最小限の指示例

メールアドレスとメール確認が一致しない場合はエラーにしてください。

どちらの項目へメッセージを付けるか、未入力を許すかなどをAIが類推して補います。比較だけでなく、両項目の入力も必須かを伝えます。

より詳細な指示例

InputCheckのemailとemailConfirmは登録・更新とも必須にし、二つの値が等しいことを検証してください。不一致はemailConfirmへエラーを付けます。どちらかが未入力なら比較自体はスキップし、各項目の必須チェックで扱ってください。異なる値では保存できず、同じ値で保存できることを確認します。
既存のモデル・主キー・項目・データ・権限を保持し、必要なguide・referenceを確認してください。メニューと一般利用者向け操作マニュアルを更新し、設計情報の検証・コード生成・起動を行って、正常な入力とエラーになる入力を確認してください。

4. 編集されるAppSchemaの例

以下は関連する定義の抜粋です。構文を覚えなくても、許可したい値とエラーにする条件をAIへ伝えられます。

entity:
  validation:
    constraints:
      - id: EMAIL_MATCH
        type: compare
        left: email
        operator: eq
        right: emailConfirm
        null_policy: skip_if_any_null
        severity: error
        attach_to: emailConfirm
        operations: [CREATE, UPDATE]
        message_code: error.manual.email.match

項目間比較は項目配下ではなくentity.validationに置きます。eqは同じ値、neは異なる値を要求します。必須チェックは各項目のpresenceで別に定義します。

5. 参考資料

guide:項目間の一致比較
designer/docs/appschema/html/guide/04-validation/08-equality-comparison.html
reference:validation(入力チェック定義)
designer/docs/appschema/html/reference/11-validation.html