2017-02-19 6 views
0

ember-cp-validationsを使用してフォーム検証を追加しようとしていて、コンソールのvideoTypeError: user is nullの基本手順に従っています。私は非常に新しくemberと私は確信して何か非常に基本的な私は見落としている。ember-cp-validationを使用してフォームを検証しようとすると 'TypeError:user is null'と表示される

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

とIn:あなたはこのようなコンポーネントに新規ユーザーを渡す必要が

レジスタ-フォーム部品

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"); 
      } 

     }); 
    } 
    } 
}); 

ユーザモデル

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

ユーザーをnullに設定しました。あなたはどのようにユーザーにコンポーネントを渡すのですか? –

答えて

1

あなたのテンプレートレジスタコンポーネントを次のように配置します。

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

ありがとうございました。私は最小限の時間が過ぎた後に答えとして受け入れます。 –

関連する問題