我在ember js应用程序中使用ember-cp-validation进行验证。在组件页面中使用validate()方法。但我收到错误(验证不是一个功能)。我提到了link
在模型页面(profile.js)中,
import DS from 'ember-data';
import { validator, buildValidations } from 'ember-cp-validations';
const Validations = buildValidations({
name: validator('presence', true),
address:[
validator('presence', true),
validator('length', { max: 300}),
],
pincode: validator('presence', true),
email:[
validator('presence', true),
validator('format', {type:'email'})
]
});
export default DS.Model.extend(Validations,{
name: DS.attr('string'),
address: DS.attr('string'),
pincode: DS.attr('number'),
email: DS.attr('string')
});
和组件页面,
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
authenticate() {
let profile = this.get('profile');
profile.validate().then(({ validations }) => {
if(validations.get('isValid')){
this.transitionToRoute("welcome");
}
});
}
}
});
答案 0 :(得分:0)
在我正在使用的组件中:
this.get('model').validate()
强制进行验证,this.get('isValid')
以了解当前输入是否有效。所以你可以这样做:
this.get('model').validate().then(() => {
if (this.get('isValid')) {
this.transitionToRoute("welcome");
}
});