Вопрос

Необходимо установить валидацию на заполнения полей детали средства связи тип телефон
validateField: function(value) {
var invalidMessage = "";
var communicationType = this.get("CommunicationType");
if (communicationType) {
if (CommunicationUtils.isEmailType(communicationType.value) && !Ext.isEmpty(value) &&
!EmailHelper.isEmailAddress(value)) {
invalidMessage = resources.localizableStrings.WrongEmailFormat;
} else if (CommunicationUtils.isPhoneType(communicationType.value) &&
!this.isPhoneNumber(value)) {
invalidMessage = resources.localizableStrings.WrongPhoneFormat;
} else if (CommunicationUtils.isSkypeType(communicationType.value) && !Ext.isEmpty(value) &&
!this.isSkypeAddress(value)) {
invalidMessage = resources.localizableStrings.WrongSkypeFormat;
}
}
return {
fullInvalidMessage: invalidMessage,
invalidMessage: invalidMessage
};
},

это метод из модуля BaseCommunicationViewModel, переопределил этот метод в замещающей странице, но никак изменений на странице контактов не происходит:)

У меня такой же вопрос

3 комментария

так же есть еще метод isPhoneNumber: function(value) {
var phonePattern = /^[^'|^`]*$/;
return phonePattern.test(value);
},

Евгений, добрый день.

Насколько я понимаю, Вы замещали ViewModel, что в принципе не есть хорошей практикой, да и если это и делать, необходимо полностью переносить код из базовой реализации. Рекомендую Вам создать замещающую схему для самой детали, и в:
this.addColumnValidator("Number", newItem.validateField, newItem);
и вместо validateField вызывать свою реализацию.

"Мотков Илья" написал:

Евгений, добрый день.

Насколько я понимаю, Вы замещали ViewModel, что в принципе не есть хорошей практикой, да и если это и делать, необходимо полностью переносить код из базовой реализации. Рекомендую Вам создать замещающую схему для самой детали, и в:
this.addColumnValidator("Number", newItem.validateField, newItem);
и вместо validateField вызывать свою реализацию.


спасибо за совет:)

Войдите или зарегистрируйтесь, чтобы комментировать