Hi,
Try to do something like below -
- define one Boolean variable at the beginning and set value false.
- inside for loop when matches found set Boolean value to true.
- Outside for loop check the boolean value, if it's true then set form notification else clear.
- At the last where you are returning true clear form notification.
function cBlack() {
var isExists= false;
var vsEmail = Xrm.Page.getAttribute("new_email").getValue();
var vsMobilePhone = Xrm.Page.getAttribute("new_mobilephone").getValue();
if (vsEmail != null && vsMobilePhone != null) {
var rs_Email = vsEmail.toLowerCase().trim();
var rs_MobilePhone = vsMobilePhone.replace(/ +/g, "");
var req = new XMLHttpRequest();
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/new_black?$select=emailaddress,new_mobilenumber", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var results = JSON.parse(this.response);
for (var i = 0; i < results.value.length; i++) {
var internalemailaddress = results.value[i]["emailaddress"];
var resultEmail = internalemailaddress.toLowerCase().trim();
var mobileNumber = results.value[i]["new_mobilenumber"];
var resultMobile = mobileNumber.replace(/ +/g, "");
if (rs_Email == resultEmail && rs_MobilePhone == resultMobile && ) {
isExists= true;
}
}
if(isExists == true)
{
Xrm.Page.ui.setFormNotification("This record is in blacklist ", "ERROR", "100");
}
else
{
Xrm.Page.ui.clearFormNotification("100");
}
}
else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
}
else {
Xrm.Page.ui.clearFormNotification("100");
return true;
}
}