私はember-cli:2.5.0とember-validations:v2.0.0-alpha5を使用しています。 私のemberコンポーネントでは、それぞれの属性が変更されますが、専門用語呼び出しの検証でlazilyメソッドを呼び出す場合にのみ、この検証を実行します。Ember-validationレイジー検証の実装方法
見つけてください以下のコードサンプルは、
import Ember from 'ember';
import EmberValidations, { validator } from 'ember-validations';
export default Ember.Component.extend(EmberValidations, {
didReceiveAttrs() {
this.set('newBook', this._bookModel().create());
},
_bookModel(data = {}) {
return Ember.Object.extend(EmberValidations, {
bookVersion: null,
isEditable: false,
validationActive: false,
validations: {
bookVersion: {
inline: validator(function() {
if(this.validationActive){ //Here this.validationActive always return undefined
var version = this.model.get('bookVersion') || "",
message = [];
if (Ember.isEmpty(bookVersion)) {
message.push("Book Version is mandatory!!!");
}
if (message.length > 0) {
return message.join(',');
}
}
})
}
}
}, data);
}
});
actions: {
this.get('newBook').set("validationActive",true);
this.get('newBook').validate().then(() => {
//Do the action
}
}
は、私は上記の検証が呼び出すだけで実行したい "this.get( 'newBookを')。検証します()"。私は完全に新しくemberになっていますので、他の人の投票を下す前にあなたのコメントを記入してください。他のコードサンプルについて親切に教えてください。
あなたの助けが必要です。
私はインラインバリデータを使用しているので、あなたの答えを私の質問と関連付けることはできません。間違った理解のために申し訳ありません。条件付きインラインバリデータのドキュメントは見つかりませんでした。私はあなたの答えに基づいて私の質問を更新しましたが、私はいつも "条件を"未定義になっています。私を修正し、このシナリオから私を助けてください。 – VelNaga
あなたの編集に関して私が更新した部分を見てください。 – alptugd
@alptugxそれはあなたの助けのために多くのおかげでチャームのように働いています。私はもう1つのクエリを持っていますが、それらの検証エラーをクリアする方法を知っていますか? – VelNaga