У меня есть следующее свойство объекта, определенное как следующие метаданные:
{"name":"website","dataType":"String",
"validators":[
{"name":"string"},
{"messageTemplate":"'%displayName%' is not valid",
"pattern":"^$|(^http|^https)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/S*)?",
"name":"regExValidator"}]}
Когда я пытаюсь вызвать entityAspect.validateProperty("website")
, а значение свойства website
равно null, вызов метода validateProperty()
вызывает следующее исключение:
"Невозможно получить свойство "complexAspect" неопределенной или нулевой ссылки"
Я бы не ожидал такого поведения, поскольку возможно, что свойство объекта website
может быть нулевым. Похоже, в методе validateProperty
может быть ошибка обработки нулевой ссылки:
В Breeze.debug.js:
proto.validateProperty = function (property, context) {
var value = this.getPropertyValue(property); // performs validations
if (value.complexAspect) { // THROWS EXCEPTION IF 'value' IS NULL
return validateTarget(value);
}
context = context || {};
context.entity = this.entity;
if (typeof(property) === 'string') {
context.property = this.entity.entityType.getProperty(property, true);
context.propertyName = property;
} else {
context.property = property;
context.propertyName = property.name;
}
return this._validateProperty(value, context);
};
Просто интересно, я что-то не так делаю, или это просто баг?
Спасибо, Ричард