2017-01-11 10 views
3

Кажется, что были разные проблемы в отношении модуля aurelia-validation, но я не видел ничего, что касалось конкретной проблемы, с которой я столкнулся.Правила проверки Aurelia: Невозможно проанализировать функцию доступа

У меня есть класс модели с правилами определения и проверки, как показано ниже:

мои-model.js

my-model = { 
    "name": 
     { 
     "full": "", 
     "short": "", 
     } 
    }; 

... 

ValidationRules 
    .ensure(model => model.name.full).required().minLength(5).maxLength(50) 
    .on(this.my-model); 

Когда я пытаюсь его в браузере, однако, я получаю ошибку :

... 
Inner Error: 
Message: Unable to parse accessor function: 
function (model) { 
         return model.name.full; 
        } 
... 

This question был ближе всего я был в состоянии видеть мою проблему, и another here, кажется, с та же проблема.

Я бегу [email protected]^1.0.2 и [email protected]^1.0.0-beta.1.0.1, которые, как я считаю, являются стандартными значениями по умолчанию из регулярных обновлений (но и причина, по которой она внезапно не работает). Возможно ли, что я все еще выполняю несовместимые версии некоторых модулей? Или есть где-то в другом месте моего кода, который мне нужно исправить?

ответ

3

Что делать, если вы нацеливаете свойство вместо объекта? Это работает?

myModel = { 
    "name": { 
    "full": "", 
    "short": "", 
    } 
}; 

ValidationRules 
    .ensure(model => model.full) 
    .required() 
    .minLength(5) 
    .maxLength(50) 
    .on(this.myModel.name); //<--- see 
+0

Так что я неправильно понял и попытался сделать 'model.full' без настройки' .on (this.myModel) ', и он работал даже с этим. Я полностью обновил его до полного описания, и теперь он работает. Большое спасибо. – cchapman

+1

Это было решение, которое сработало и для меня. – LStarky