Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

how to prevent submit with error message?

Akki1
Tera Contributor

i'm using a client script with the below code. I want to popup a error message and prevent submit if my output is false;

var output='';

var req=g_user,userName;

var ent=g_form,getValue('gp_name);

var acc=new GlideAjax('global.app_validate');

acc.addParam(sysparm_name,'validate');

acc.addParam('gp',ent);

acc.addParam('user',req);

acc.getXMLAnswer(function(response){

output=response;

}

 

 

6 REPLIES 6

Not applicable

Hello @Akki1 

 

In onsubmit client script, Async validation doesn't work correctly, since  "GlideAjax.getXMLWait is no longer supported" for onsubmit client script. Refer below articles for alternative ways to achieve this - 

https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0783579 

https://www.servicenow.com/community/developer-articles/async-validation-in-onsubmit-catalog-client-... 

 

Regards,

Akshay

@Community Alums I saw the reference article

I didn't understand what exactly is being done in below code ?can you explain? Thanks

 function callBack(answer) {
        if (answer == 'false') {
            g_form.showFieldMsg('user', 'This user is not a member of Testing group.', 'error', true);
        } else {
			//alert('2 ' + g_scratchpad.isGroupMember);
            g_scratchpad.isGroupMember = true;
			//alert('3 ' + g_scratchpad.isGroupMember);
            g_form.submit(actionName);
			//alert('4 ' + g_scratchpad.isGroupMember);
            g_scratchpad.isGroupMember = false;
			//alert('5 ' + g_scratchpad.isGroupMember);
        }
    }

Sagar Pagar
Tera Patron

Hi @Akki1,

Try this updated scripts -

var req = g_user.userName;
var ent = g_form.getValue('gp_name');

var acc = new GlideAjax('global.app_validate');
acc.addParam(sysparm_name, 'validate');
acc.addParam('gp', ent);
acc.addParam('user', req);
acc.getXMLAnswer(_callBackFunction);

function _callBackFunction(response) {
	var answer = response;

	if (answer == "false") {
		g_form.addErrorMessage("Add error message here");
		return false;
	}

}

 

Thanks,
Sagar Pagar

The world works with ServiceNow

@Sagar Pagar  I'm getting the error message but its still submitting the request