XPages partial refresh viewScope and xsp.attachValidator

First, the easier one. I am using XSP.attachValidator to make a field mandatory or not, based on values in the document. I have disableClientSideValidation set to true, but the validation run by the XSP.attachValidator is always run client-side, meaning I get the prompt triggered by the validationError function in xspClientDojo.js. Is there a way I can force the validation set by XSP.attachValidator to run as server-side instead of client-side? It is possibe, I suppose, that this is a bug.

Now the more complex bit. On the same form, I have a radio button that is trying to amend a viewScope variable via an onClick event. It is running SSJS, and is one of a number of fields on the XPage.

If I set the onClick event to do a full refresh, client-side validation for other fields gets triggered and prevents the SSJS from running, but I still have the radio button value selected.

If I set the onClick event to do No data validation, as is expected, the values entered for other fields get cleared.

If I set it to partial refresh (this should be the preferred option) with No data validation, the partial refresh runs, the values previously entered in other fields are not cleared, but the viewScope variables are not set. It doesn’t seem that I am able to set any scoped variables via unless a Full Refresh is done.

Has anyone else found a way to set scoped variables without doing a full refresh, and so losing values set in other fields?