2016-12-22 5 views
0

Ember.jsの新機能で、特定の入力フィールドで検証を行う方法に問題があります。ここでEmber.js 2.7 - 入力フィールドの検証方法を確認するには?

は私のテンプレートindex.hbsのためのコードです:

import Ember from 'ember'; 

export default Ember.Controller.extend({ 

    headerMessage: 'Coming soon', 
    responseMessage: '', 
    email: '', 

    isValid: Ember.computed.match('email', /^[email protected]+\..+$/), 
    isDisabled: Ember.computed.not('isValid'), 
}); 

私が検証を取得したい入力フィールド:

<div class="jumbotron text-center"> 
    <h1>Coming Soon</h1> 

    <br/><br/> 

    <p>Don't miss our launch date, request an invitation now.</p> 

    <div class="form-horizontal form-group form-group-lg row"> 
    <div class="col-xs-10 col-xs-offset-1 col-sm-6 col-sm-offset-1 col-md-5 col-md-offset-2"> 
     {{input type="email" value=model.email class="form-control" placeholder="Please type your e-mail address." autofocus="autofocus"}} 
    </div> 
    <div class="col-xs-10 col-xs-offset-1 col-sm-offset-0 col-sm-4 col-md-3"> 
     <button disabled={{isDisabled}} {{action 'saveInvitation' model}} class="btn btn-primary btn-lg btn-block">Request invitation</button> 
    </div> 
    </div> 
    {{#if responseMessage}} 
    <div class="alert alert-success">{{responseMessage}}</div> 
    {{/if}} 
    <br/><br/> 
</div> 

、ここでは私のコントローラindex.jsからコードですのための電子メールです。私はvalue = ""をvalue = "email"に置き換えて検証する方法を知っていますが、値= model.emailを使ってどのように行うことができるかを知りたいです

これは簡単です問題ですが、この特定の問題についてはドキュメント上で何も見つかりません。

答えて

2

inputヘルパーを使用しているため、テキストフィールドに入力するとmodel.emailプロパティが更新されます。

1.コントローラのemailプロパティを宣言する必要はありません。
2. isValid計算プロパティに依存するキーがあるべきmodel.email

import Ember from 'ember'; 

export default Ember.Controller.extend({ 

    headerMessage: 'Coming soon', 
    responseMessage: '', 

    isValid: Ember.computed.match('model.email', /^[email protected]+\..+$/), 
    isDisabled: Ember.computed.not('isValid'), 
}); 
0

saveInvitationのメールアドレスの有効性を確認することができます。

関連する問題