[support] More D7 form woes

Jeff Greenberg listmail.ayendesigns at gmail.com
Tue Feb 17 21:06:24 UTC 2015


So, my last messages were about needing to create and populate checkboxes
based on values determined during the form validation process. This ended
up working by:
1. Creating the fields in hook_form_alter
2. Storing the option values as an array during validation in
$form_state['storage']
3. Checking in hook_form_alter for $form_state[storage], and if present,
setting the field's options to the stored array

I also need to massage the body value during validation, basically to
convert some strings to links. I tried the same method as above, which
didn't work, with the problem being that  $form[body][LANGUAGE_NONE][0]
contains a large meta array, so I wasn't sure what to do with the value.

I tried setting the value in form_state[values] during validation, but at
the end of validation at this point in the flow I set rebuild=true, which
ends up using the values that were present when the form was submitted
(thus overwriting my change) ... which is why I ended up doing the other
fields in hook_form_alter instead.

I then tried using form_set_value in validate. Two issues there. One is
that passing $form[body] as the element doesn't work, I think, because I
end up with $form_state[values][body] having a value instead of it being in
form_state[values][body][LANGUAGE_NONE][0], and, I think, because of
rebuild=true being set, which causes the change by form_set_value to be
overwritten with the value that was there when submit was clicked.

-- 
---
drupal.org/user/367108
linkedin.com/in/jeffrgreenberg
accidentalcoder.com / ayendesigns.com
@accidentalcoder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20150217/5eff76f6/attachment.html 


More information about the support mailing list