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");
  }
});
Другие вопросы по тегам