Коллеги, добрый день!
Такая ситуация:
к полю привязал атрибут, к которому подвязал вызов функции checkEpicId. Функция обращается к сервису, который в свою очередь обращается к стороннему сервису и возвращает строку для валидации. Получив ответ, функция анализирует респонс и устанавливает для колонки invalidMessage i isValid. На странице внизу колонки появляется установленный invalidMessage, но карточка все равно сохраняется с таким invalidMessage. Добавил ф-ю валидатор isInJiraValidator, но тоже не помогает.
В чем может быть проблема, подскажите пожста.
код:
setValidationConfig: function() {
this.callParent(arguments);
this.addColumnValidator("UsrCoEpicId", this.isInJiraValidator);
},
isInJiraValidator: function(value) {
var invalidMessage = "";
return {
invalidMessage: invalidMessage
};
},
checkEpicId: function() {
var newEpicIdTitle = "";
var epicId = this.get("UsrCoEpicId");
var invalidMessage = "";
var isValid = false;
ServiceHelper.callService(
"UsrJiraApi",
"getEpicId",
function(response) {
var res = response.getEpicIdResult;
var epicResult = response.substring(10, 11);
if(epicResult == "t") {
newEpicIdTitle = response.substring(response.indexOf("summary") + 10, response.indexOf("assetId") - 3);
console.log("Length after assetId: " + response.substring(response.indexOf("assetId")).length);
if(response.substring(response.indexOf("assetId")).length > 15) {
var jiraAssetId = response.substring(response.indexOf("assetId") + 10, response.indexOf("assetId") + 46);
console.log("Asset in CRM: " + this.get("UsrAssetTypeGeneral").value);
console.log("Asset in Jira: " + jiraAssetId);
if(this.get("UsrAssetTypeGeneral") && (this.get("UsrAssetTypeGeneral").value == jiraAssetId)) {
invalidMessage = "";
isValid = true;
} else {
invalidMessage = "Asset Type in Jira is not the same as in CRM for current Epic Id."
+ " Please set correct values or refer to administrator.";
isValid = false;
}
} else {
invalidMessage = "";
isValid = true;
this.showMessage("Asset Type in Jira is not set for current Epic Id. Validation is not awailable.");
}
this.validationInfo.set("UsrCoEpicId",{invalidMessage: invalidMessage, isValid: isValid});
this.set("UsrJiraEpicName", newEpicIdTitle);
} else {
invalidMessage = epicId + " - there is no such Epic Id in Jira. Please enter correct Epic Id."
+ " In case the epic Id in Jira has not been yet created - please do it now";
isValid = false;
this.validationInfo.set("UsrCoEpicId",{invalidMessage: invalidMessage, isValid: isValid});
this.set("UsrJiraEpicName", newEpicIdTitle);
}
},epicId,
this);
},