web-dev-qa-db-ja.com

form_set_error:配列の設定方法Drupal 6

Array
(
    [items] => Array
        (
            [0] => Array
                (
                    [nid] => 164
                    [module] => uc_product
                    [remove] => Remove
                    [title] => Strokes1
                    [data] => a:4:{s:10:"attributes";a:0:{}s:9:"shippable";s:1:"0";s:12:"restrict_qty";s:1:"0";s:6:"module";s:10:"uc_product";}
                    [qty] => 2
                    [description] => 
                    [cart_item_id] => 200
                )

            [1] => Array
                (
                    [nid] => 165
                    [module] => uc_product
                    [remove] => Remove
                    [title] => Strokes2
                    [data] => a:4:{s:10:"attributes";a:0:{}s:9:"shippable";s:1:"0";s:12:"restrict_qty";s:1:"0";s:6:"module";s:10:"uc_product";}
                    [qty] => 1
                    [description] => 
                    [cart_item_id] => 203
                )

            [2] => Array
                (
                    [nid] => 166
                    [module] => uc_product
                    [remove] => Remove
                    [title] => Strokes3
                    [data] => a:4:{s:10:"attributes";a:0:{}s:9:"shippable";s:1:"0";s:12:"restrict_qty";s:1:"0";s:6:"module";s:10:"uc_product";}
                    [qty] => 1
                    [description] => 
                    [cart_item_id] => 204
                )

        )

    [update] => Update cart
    [checkout] => Checkout
    [form_build_id] => form-5c5819d5418df14f08153f1ce15d6acc
    [form_token] => 2341b9068b8ffb7454d267b22e572d7d
    [form_id] => uc_cart_view_form
)

製品がない場合、form_set_errorを使用してエラーメッセージを表示しています。

私の問題は:

たとえば、チェックアウトページに3つの商品があります。

[送信]をクリックすると、すべての製品が利用可能であることを確認する必要があります。

ここで、2番目の製品が利用できない場合、「製品ストローク2は利用できません」というエラーメッセージが表示されていると考えてみましょう。

ただし、カート内のすべてのチェックボックスが強調表示されています

Form_set_errorをitems要素に設定したためです。

すべての個々の要素にform_set_errorを設定するにはどうすればよいですか?

エラーメッセージを表示するために私が与えたもの:enter image description here

form_set_error( 'items'、 '利用不可');

問題の解決方法を教えてください。 drupal 6でubercartモジュールを使用しています。

1
Fero

form_set_error のAPIページに、フォームアイテムのサブ要素にフォームエラーを設定する方法を説明するコメントがあります。

コメントから:

form_set_error('field_name][i][value', t('Your message'));
3
Countzero