簡體   English   中英

Ember.js 2.7-如何在輸入字段上檢查驗證?

[英]Ember.js 2.7 - How to check validation on an input field?

我對Ember.js還是很陌生,但是在對特定輸入字段進行驗證時遇到了麻煩。

這是我的模板index.hbs的代碼:

<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中的代碼:

import Ember from 'ember';

export default Ember.Controller.extend({

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

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

我要驗證的輸入字段是一封電子郵件。 我知道如何通過將value =“”字段替換為value =“ email”來進行驗證,但是我想知道如何使用value = model.email進行驗證

這似乎是一個簡單的問題,但我在文檔中找不到有關此特定問題的任何信息。

當您使用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', /^.+@.+\..+$/),
  isDisabled: Ember.computed.not('isValid'),
});

您可以在saveInvitation操作中檢查電子郵件的有效性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM