Сообщение об ошибке формы ember-cp-validations не отображается
Я пытаюсь проверить ввод в форме, используя ember-cp-validations. Кажется, что действительная проверка работает, но я не могу отобразить сообщение об ошибке в шаблоне. Я довольно новичок в ember в целом, и я предполагаю, что я не правильно использую модель в помощнике v-get.
Вот моя модель:
import DS from 'ember-data';
import { validator, buildValidations } from 'ember-cp-validations';
const Validations = buildValidations({
name: validator('presence', true),
})
export default DS.Model.extend(Validations, {
name: DS.attr('string'),
});
Вот действие, которое я выполняю в своем контроллере при отправке формы:
//tried to get character model here to make validation work
let character = this.get('model');
//create new character record to store
let newCharacter = this.store.createRecord('character', {
name: name,
});
//validating here
newCharacter.validate()
.then( ({validations}) => {
console.log(validations)
if(validations.get('isValid')) {
console.log('form is valid')
//record will be saved here
}else{
console.log('form is invalid')
}
})
В этом действии, когда поле имени пусто, оно говорит, что форма неверна, как и ожидалось.
Наконец, я пытаюсь показать ошибку здесь:
{{input type="text" class="form-control" value=name placeholder="Character Name" focus-out=(action (mut showNameError) true)}}
{{#if showNameError}}
<div class="error">
{{v-get character 'name' 'message'}}
</div>
{{/if}}
Здесь создается div, когда вы теряете фокус на поле, но сообщение никогда не показывается. Из того, что я понимаю, аргументами для помощника здесь должны быть модель, поле, которое вы проверяете, и затем сообщение, которое должно отображаться. Тот факт, что он знает, что форма недействительна, но сообщение никогда не показывается, заставляет меня поверить, что я что-то неправильно понимаю, и на самом деле не правильно обращаюсь к модели персонажа в помощнике v-get.
После прочтения и просмотра некоторых уроков по ember-cp-validations я все еще застрял. Любая помощь будет оценена.
Заранее спасибо!
РЕДАКТИРОВАТЬ: Я хотел добавить больше информации после нескольких часов, чтобы решить эту проблему. Я создал новое действие в своем контроллере, очень похожее на пример со страницы github ember-cp-validations, расположенной здесь:
Я также удостоверился, что импортирую и определяю всю необходимую информацию в моем файле модели. Я сделал это, чтобы выглядеть в точности как их пример здесь:
Однако когда я запускаю действие, мне выдается ошибка model.validate - это не функция. Я не понимаю, почему в их примере они могли бы выполнить проверку для своей модели, но я не смог бы для моей. Чем больше я пытаюсь решить эту проблему, тем больше я запутываюсь.