Just a wild guess from my side:
In your button, you actually have defined the update
attribute, but no process
attribute - the latter is not mandatory, but whenever you have validations in place (required / patterns), these validations take place on each ajax request and therefore could deny the action because the state of the form is not valid. This can be afaik circumvented by using partialSubmit
or by process
ing only the inputs you need.
Also, you're just updating the dialog content in your update
- that means that although the variable you've changed is bound to different inputs or displays, the changed value will only be applied after a successful AJAX response to the elements you've defined in the update
attribute - therefore even if the update succeeds, you won't see any update outside of the dialog.
For further reading:
Process - Primefaces AJAX Framework
PartialSubmit - Primefaces AJAX Framework
Selectors - Primefaces AJAX Framework
and maybe a better input field: SelectOneMenu - Primefaces Showcase