Do you reckon that the problem is putting the code in template.php instead of a custom module?

Thanks again,

Thanasis

On 20/02/12 08:27, Mukesh Agarwal wrote:
The place to implement logic based form_set_error should be in the
validate function and not template.php .. I would recommend you use
hook_form_alter
<http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7>
-> $form_id will indicate the form you wish to alter, and there you can
add a custom validate function in $form['#validate'] -- the custom
function should then take care of form_set_error

http://api.drupal.org/api/drupal/includes%21form.inc/function/form_set_error/7
-- you need to set the element name as first parameter to make sure that
the particular field is highlighted.

On Mon, Feb 20, 2012 at 1:51 PM, Athanasios Velios <[email protected]
<mailto:[email protected]>> wrote:

    Hello,

    I am trying to alter a form (uc_cart_view_form) with various input
    fields (Qty for products). In template.php I am adding some extra
    logic which applies across a selection of these fields. Once the
    logic is checked I need to display an error message. I am using
    form_set_error to show the message. The problem is that the user
    then updates the input values and updates the form, but the new
    figures are not taken into account. They are shown in the form, but
    not used in my template.php extra logic.

    drupal_set_message allows the new values to work but the message
    appears twice and it does not, obviously, link to specific fields in
    the form which are problematic.

    Setting form_state rebuild to true before form_set_error does not
    have an effect.

    Any ideas of what needs to be done for these values to be taken into
    account with form_set_error?

    Thanks

    Thanasis




--
Cheers,
Mukesh Agarwal
________________________________
Innoraft Solutions <http://www.innoraft.com>  || +91 8017220799

Reply via email to