This came up as an idea in https://github.com/backdrop/backdrop-issues/issues/5348#issuecomment-100...
@quicksketch
This issue ... may also be helpful if we were to ever add a server-side conditional system to replace
#states. By separating out the required message into its own property, we could conditionally display the required message without executing the entire form_validate()handler.
The #states property is a front-end only implementation. The lack of any server-side processing means any hidden fields cannot be required, or special validation handlers need to be added that validate field requireness manually.
Proposal
Introduce a new Form API property for designating conditional processing of parts of a form. This property would hide/show elements on the front end (like #states does already), but would also conditionally skip processing for hidden parts of the form. Hidden parts of the form would skip:
- Processing of the
#requiredattribute on hidden fields - Processing of
#element_validatehandlers on hidden fields - Remove any values from
$form_state['values']for hidden fields
Recent comments
Thanks Alejandro. That was the clues I needed.
Ubercart - Programmatically add product to cart and straight to Checkout
Have you tried uc_cart_add_item()? You need to provide the nid of the product. Then you can use backdrop_goto('cart/checkout'); to send the user to the checkout screen. uc_cart_add_item...
Ubercart - Programmatically add product to cart and straight to Checkout
No problem, let's see how it evolves. I'd be happy to provide a suggested version if i could. I will keep that in mind and try learn this hook chain hopefully very soon. I will...
File hashing uploads made through TinyMCE