validate() не является функцией в ember-cp-validation
Я использую ember-cp-validation в приложении ember js для проверки. используя метод validate() на странице компонентов. но я получаю ошибку (проверка не является функцией). Я сослался на эту ссылку
На странице моделей (profile.js),
import DS from 'ember-data';
import { validator, buildValidations } from 'ember-cp-validations';
const Validations = buildValidations({
name: validator('presence', true),
address:[
validator('presence', true),
validator('length', { max: 300}),
],
pincode: validator('presence', true),
email:[
validator('presence', true),
validator('format', {type:'email'})
]
});
export default DS.Model.extend(Validations,{
name: DS.attr('string'),
address: DS.attr('string'),
pincode: DS.attr('number'),
email: DS.attr('string')
});
И страница компонентов,
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
authenticate() {
let profile = this.get('profile');
profile.validate().then(({ validations }) => {
if(validations.get('isValid')){
this.transitionToRoute("welcome");
}
});
}
}
});
1 ответ
В моем компоненте я использую:
this.get('model').validate()
провести проверку,this.get('isValid')
знать, действителен ли текущий ввод.
Так что вы могли бы сделать:
this.get('model').validate().then(() => {
if (this.get('isValid')) {
this.transitionToRoute("welcome");
}
});