Esta solución, en su versión anterior no se controlaban las validaciones de los campos y resultaba chocante el que apareciera el «Alert» de diálogo y que luego dijera que no había validado los datos y por ello, no había actualizado el registro.
En esta versión se resuelve esto validando uno a uno, los campos del formulario.
El código ha quedado de esta forma:
/* Validation fields */ var fields = ['text1','number1']; // All fields to validate var validation = true; let i = 0; while (i < fields.length) { var ctrl = Runner.getControl(pageid, fields[i]); var status = ctrl.validate(); if (status.result == false) { validation = false; } i++; } console.log("validation: "+ validation); if ( validation ) { Swal.fire({ title: 'Do you want to save the changes?', showDenyButton: true, // showCancelButton: true, confirmButtonText: 'Save', denyButtonText: "Don't save", }).then((result) => { /* Read more about isConfirmed, isDenied below */ if (result.isConfirmed) { Swal.fire('Saved!', '', 'success') // $('#saveButton7').click(); $('a[id^="saveButton"]').click(); } else { if (result.isDenied) { Swal.fire('Changes are not saved', '', 'info') } } }) } return false
Creo que la solución, así, queda más consistente y válida.
Si deseas leer todo el artículo, sigue este link.