[![ingrese la descripción de la imagen aquí][1]][1] En este método, ¿cómo puedo verificar si el atributo formkey realmente tiene un valor? mensaje al usuario de que la tarea de usuario en particular no tiene clave de formulario?
function saveWorkflow () { $('#dbs-debug').html('Saving...'); // ************************************************************** process.id = 'process_' + _flowId; process.name = _flowName; $('#dbs-form-content > .dbs-form-task').each(function () { var userTask = {}; userTask.name = $(this).attr('data-name'); userTask.id = $(this).attr('data-id'); userTask.condition = $(this).attr('data-condition'); if ($(this).attr('data-type') === "user-task") { // ************************************************************** userTask.formKey = $(this).attr('data-formkey'); // ************************************************************** userTask.cUsers = $(this).attr('data-cusers'); userTask.cGroups = $(this).attr('data-cgroups'); userTask.rejstep = $(this).attr('data-rejstep'); userTask.due = $(this).attr('data-due'); userTask.reassignment = $(this).attr('data-reassignment'); } else if ($(this).attr('data-type') === "email-task") { userTask.email = $(this).attr('data-email'); } userTask.type = $(this).attr('data-type'); process.userTasks.push(userTask); }); } [1]: https://i.stack.imgur.com/aml39.pngHaría necesaria la clave de formulario y usaría el evento de envío de formulario para guardar.
Entonces el código ni siquiera se ejecutaría.
De lo contrario
function saveWorkflow() { $('#dbs-debug').html('Saving...'); let formKeyError = false; // ************************************************************** process.id = 'process_' + _flowId; process.name = _flowName; process.userTasks = $('#dbs-form-content > .dbs-form-task').map(function() { const userTask = { name: $(this).attr('data-name'), type: $(this).attr('data-type') id: $(this).attr('data-id'), condition: $(this).attr('data-condition') }; if ($(this).attr('data-type') === "user-task") { // ************************************************************** const formKey = $(this).attr('data-formkey'); if (formKey) userTask.formKey = formKey; else formKeyError = true; // ************************************************************** userTask.cUsers = $(this).attr('data-cusers'); userTask.cGroups = $(this).attr('data-cgroups'); userTask.rejstep = $(this).attr('data-rejstep'); userTask.due = $(this).attr('data-due'); userTask.reassignment = $(this).attr('data-reassignment'); } else if ($(this).attr('data-type') === "email-task") { userTask.email = $(this).attr('data-email'); } return userTask }).get() if (formKeyError) { $('#dbs-debug').html('form key missing, saving aborted'); } else { // save here } }