Проблема с ember-cp-validation в ember-engine
Как следует из названия, у меня есть проблема с ember-cp-validations, которая, я думаю, связана с ember-engine.
По сути, моя проблема в том, что в форме нет модели для модели, использующей ember-cp-validations. Вот моя модель:
import Ember from 'ember';
import DS from 'ember-data';
import { validator , buildValidations } from 'ember-cp-validations';
const Validations = buildValidations(
{
name:[
validator('presence', true),
validator('ds-error'),
validator('length', {
min: 3,
max: 15,
message: 'The length must be between 3-15 character'
})
]
);
export default DS.Model.extend(Validations, {
numericId: Ember.computed('id', function ()
{
"use strict";
return Number(this.get('id'));
}),
name: DS.attr('string'),
});
Как видите, моя модель довольно проста, и она отлично работает в моем приложении.
Для шаблонов я использую ember-bootstrap, и это выглядит так:
{{#bs-form formLayout="horizontal" model=myModel onSubmit=(action 'update') as |form|}}
<fieldset>
<legend>Configuration</legend>
{{form.element controlType="text" label=Name
placeholder=myName
property="name"}}
{{bs-button
defaultText=Submit
type="primary"
disabled=(v-get myModel 'isInvalid')
buttonType="submit"}}
</fieldset>
{{/bs-form}}
Мой шаблон тоже очень прост, вы можете видеть, что в первой части моей формы я звоню property="name"
, где я определяю свойство anme моей модели.
Например, сообщение не отображается, если длина моего name.length меньше 3 символов.
Я обязан добавить disabled=(v-get myModel 'isInvalid')
, которая отключит мою кнопку, если проверка не будет выполнена, потому что, если я не добавил это свойство, информация будет отправлена, даже если некоторая информация окажется ложной.
Может быть, у кого-нибудь есть совет сделать проверку в моей форме. Добрый день всем вам!
1 ответ
Я только что обнаружил, что есть дополнение, которое автоматически показывает сообщение об ошибке и проверяет его в форме ember-bootstrap: https://github.com/offirgolan/ember-bootstrap-cp-validations