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!