posted 10 years ago
I haven't tried to decode that in detail, but the rules themselves are simple:
1. When you submit via a commandButton or commandLink, all input controls in the form that contains that command control are submitted, and only those controls. No other forms participate.
2. When you attach an AJAX action to an input control, the default scope is to only submit that one control and no other input controls in the form that contains that control. You can, of course, expand that scope if you like.
3. Regardless, whatever input controls are submitted go through the standard lifecycle process; they're validated, and if valid, their corresponding backing bean properties are updated and the action/listener fired. If ANY of the submitted inputs are invalid the update and fire stages are bypassed. If you have invalid inputs on a form, but they aren't among the selected controls to submit on an AJAX submit, they won't be submitted, validated, or updated and therefore won't affect how the selected input controls are processed.
Experience keeps a dear School, but Fools will learn in no other.
---
Benjamin Franklin - Postal official and Weather observer