2013-04-13 3 views
0

Я следующий объект недвижимости определяется следующим образом метаданных показывает:Breeze бросает Null ссылочный исключение при вызове EntityAspect.validateProperty() метод

{"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 имущества равно нулю, то вызов метода 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); 
}; 

Просто интересно, если я делаю что-то неправильно, или если это просто ошибка?

Спасибо, Richard

ответ

0

Edit: Это было исправлено в версии 1.3.0 Breeze, теперь доступен.


Это ошибка, и она будет исправлена ​​в следующей версии, выпущенной позднее на этой неделе. ... и thx для поиска и сообщения об этом :)

+0

Отлично, я с нетерпением жду предстоящего исправления. – RWHepburn

Смежные вопросы