2017-02-19 4 views
0

Je tente d'ajouter une validation de formulaire en utilisant ember-cp-validations et suis les étapes de base dans leur videoTypeError: user is null dans la console. Je suis très nouveau à braise et je suis sûr que c'est quelque chose de très basique que je néglige.Obtenir 'TypeError: user is null' en essayant de valider le formulaire en utilisant des validations ember-cp

composant registre forme

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    user: null, 

    actions: { 
    save() { 

     let user = this.get('user'); 

     user.validate() 
     .then(({ validations }) => { 

      if (validations.get('isValid')) { 
      user.save(); 
      } else { 
      alert("not valid"); 
      } 

     }); 
    } 
    } 
}); 

modèle utilisateur

import DS from 'ember-data'; 
import { validator, buildValidations } from 'ember-cp-validations'; 

const Validations = buildValidations({ 
    firstname: validator('presence', true), 

    email: [ 
    validator('presence', true), 
    validator('format', { type: 'email' }) 
    ], 

    username: validator('presence', true), 

    password: [ 
    validator('presence', true), 
    validator('length', { 
     min: 4 
    }) 
    ] 
}); 

export default DS.Model.extend(Validations, { 
    firstname: DS.attr('string'), 
    email:  DS.attr('string'), 
    username: DS.attr('stirng'), 
    password: DS.attr('string') 
}); 
+0

Vous définissez l'utilisateur comme nulle. Comment passez-vous l'utilisateur au composant? –

Répondre

1

Vous devez passer un nouvel utilisateur au composant comme ceci:

//routes/users/new.js 
... 
model(){ 
    return this.get('store').createRecord('user'); 
} 
... 

Et dans le vous calquer mettre le composant de registre faire comme:

//templates/users/new.hbs 
{{register-form user=model}} 
+0

Merci qui l'a fait. Je vais accepter comme la réponse après le temps minimum est passé. –