[development] form_set_error and updating form values
Mukesh Agarwal
mukesh.agarwal17 at gmail.com
Mon Feb 20 16:02:35 UTC 2012
http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7--
the hook takes $form as an argument passed by reference.. so all the
changes you make in $form, it should get reflected in the UI.. Please share
your code if it does not work for you..
On Mon, Feb 20, 2012 at 8:57 PM, Athanasios Velios <a.velios at gmail.com>wrote:
> Hm, I commented the lines in template.php and built a new module with the
> hook_form_alter and additional logic but this does not make any difference
> at all. Exactly the same behaviour...
>
> Thanasis
>
>
> On 20/02/12 09:25, Mukesh Agarwal wrote:
>
>> Yes, Drupal is quite structured and has defined ways to deal with
>> stuff.. template.php and hook_form_alter are for 2 different purposes
>> and in your case writing a custom module which implements the hook is
>> the right way.
>>
>> On Mon, Feb 20, 2012 at 2:53 PM, Athanasios Velios <a.velios at gmail.com
>> <mailto:a.velios at gmail.com>> wrote:
>>
>> 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
>>
>> <http://api.drupal.org/api/**drupal/modules%21system%**
>> 21system.api.php/function/**hook_form_alter/7<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<http://api.drupal.org/api/__drupal/includes%21form.inc/__function/form_set_error/7>
>>
>> <http://api.drupal.org/api/**drupal/includes%21form.inc/**
>> function/form_set_error/7<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
>> <a.velios at gmail.com <mailto:a.velios at gmail.com>
>> <mailto:a.velios at gmail.com <mailto:a.velios at gmail.com>>> 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
>>
>>
>>
>>
>> --
>> Cheers,
>> Mukesh Agarwal
>> ______________________________**__
>> Innoraft Solutions <http://www.innoraft.com> || +91 8017220799
>>
>>
--
Cheers,
Mukesh Agarwal
________________________________
Innoraft Solutions <http://www.innoraft.com> || +91 8017220799
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20120220/31658ac0/attachment.html
More information about the development
mailing list