script include response return null
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2024 11:57 PM
Hi All,
I'd like to validate multiple fields, all of which must be unique. I handle the validation on Onsubmit event. Below are my settings on the client and backend.
I can't get things to function, and the response from the server side returned null.
What's wrong with my code and settings?
Code on client side
function onSubmit() {
//Type appropriate comment here, and begin script below
if (g_scratchpad.isFormValid) { //using g_scratchpad as Async GlideAjax does not work with Onsubmit
return true;
}
var personnel_type = g_form.getValue('personnel_type').trim();
var employee_id = g_form.getValue('employee_id').trim();
var Project_site = g_form.getValue('project_site').trim();
//var actionName = g_form.getActionName();
var ga = new GlideAjax('getCC_Personnel');
ga.addParam('sysparm_name', 'validateDuplicateRec');
ga.addParam('sysparm_personnel_type', personnel_type);
ga.addParam('sysparm_employee_id', employee_id);
ga.addParam('sysparm_Project_site', Project_site);
ga.getXMLAnswer(validateDuplicate);
return false;
function validateDuplicate(answer) {
//var resp = response.responseXML.documentElement.getAttribute("answer");
g_scratchpad.isFormValid = true;
alert(answer);
if (answer == 'false') {
g_form.submit(actionName);
var actionName = g_form.getActionName();
g_form.addErrorMessage('Duplicate user with same project site and personnel type found');
return false;
} else {
g_form.submit(actionName);
actionName = g_form.getActionName();
alert('another alert');
return true;
}
}
}
and code on backend.
var XgetCC_Personnel = Class.create();
XgetCC_Personnel.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
validateDuplicateRec: function() {
gs.log("enter to the backend");
var answer = false;
var personneltype = this.getParameter('sysparm_personnel_type');
var employeeid = this.getParameter('sysparm_employee_id');
var projectsite = this.getParameter('sysparm_Project_site');
var gr = new GlideRecordSecure('x_wohp_new_hire_ap_nac_c_cc_personnel');
gr_cc_personnel.addQuery('personnel_type', personneltype);
gr_cc_personnel.addQuery('employee_id', employeeid);
gr_cc_personnel.addQuery('project_site', projectsite);
gr_cc_personnel.query();
if (gr_cc_personnel.next()) {
answer = true;
}
return answer;
// var result = "";
// var personneltype = this.getParameter('sysparm_personnel_type');
// var employeeid = this.getParameter('sysparm_employee_id');
// var projectsite = this.getParameter('sysparm_Project_site');
// var gr_cc_personnel = new GlideRecordSecure ('x_wohp_new_hire_ap_nac_c_cc_personnel');
// gr_cc_personnel.addQuery('personnel_type',personneltype);
//gr_cc_personnel.addQuery('employee_id',employeeid);
// gr_cc_personnel.addQuery('project_site',projectsite);
// gr_cc_personnel.addActiveQuery();
// 3. Execute query
// gr_cc_personnel.query();
// if (gr_cc_personnel.next()) {
// result = "true";
// }
// gs.info("Chetan-2 inside validate form Result is " + result);
// return result;
},
type: 'XgetCC_Personnel'
});
10 REPLIES 10
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2024 06:43 PM
Thanks Anil,
I tried to insert few logs into the include script. however, I could not find the output through the system logs. Shall I set the Accessible from to global scope instead of application scope for the include script?
var NHA_getCC_Personnel = Class.create();
NHA_getCC_Personnel.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
validateDuplicateRec: function() {
gs.info("test", "testsource");
gs.info("enter to the backend");
gs.info("test", "testsource");
var answer = false;
var personneltype = this.getParameter('sysparm_personnel_type');
var employeeid = this.getParameter('sysparm_employee_id');
var projectsite = this.getParameter('sysparm_Project_site');
var gr = new GlideRecordSecure('x_wohp_new_hire_ap_nac_c_cc_personnel');
gs.info(answer);
gr.addQuery('personnel_type', personneltype);
gr.addQuery('employee_id', employeeid);
gr.addQuery('project_site', projectsite);
gr.query();
if (gr.next()) {
answer = true;
}
return answer;
},
type: 'NHA_getCC_Personnel'
});