2017-09-22 3 views
0

Comme le titre le dit, j'ai un problème avec ember-cp-validations qui je pense est lié à ember-engines.
Fondamentalement, mon problème est qu'il n'y a pas de validation dans un formulaire pour un modèle qui utilise les validations ember-cp. Voici mon modèle:Problème avec ember-cp-validation dans un ember-engines

import Ember from 'ember'; 
import DS from 'ember-data'; 
import { validator , buildValidations } from 'ember-cp-validations'; 

const Validations = buildValidations(
    { 
     name:[ 
      validator('presence', true), 
      validator('ds-error'), 
      validator('length', { 
       min: 3, 
       max: 15, 
       message: 'The length must be between 3-15 character' 
      }) 
     ] 
); 

export default DS.Model.extend(Validations, { 
    numericId: Ember.computed('id', function() 
    { 
     "use strict"; 
     return Number(this.get('id')); 
    }), 
    name: DS.attr('string'), 
}); 

Comme vous pouvez le voir, mon modèle est assez simple, et il fonctionne parfaitement bien dans ma demande.

Pour les modèles, je me sers ember-bootstrap, et ressembler à ça:

{{#bs-form formLayout="horizontal" model=myModel onSubmit=(action 'update') as |form|}} 
    <fieldset> 
    <legend>Configuration</legend> 
     {{form.element controlType="text" label=Name 
         placeholder=myName 
         property="name"}} 
     {{bs-button 
      defaultText=Submit 
      type="primary" 
      disabled=(v-get myModel 'isInvalid') 
      buttonType="submit"}} 
    </fieldset> 
{{/bs-form}} 

Mon modèle est aussi très simple, vous pouvez voir que dans la première partie de ma forme, je fais appel à la property="name", C'est là que je définis la propriété anme de mon modèle.
Le message n'apparaît pas si mon nom.longueur est inférieur à 3 caractères par exemple.
Je suis dans l'obligation d'ajouter disabled=(v-get myModel 'isInvalid'), ce qui va désactiver mon bouton si la validation ne sont pas remplies, car si je n'ai pas ajouté cette propriété, l'information sera envoyée même si certaines informations sont fausses.
Peut-être que quelqu'un a un conseil pour que la validation fonctionne dans mon formulaire. Bonne journée à vous tous!

Répondre