2017-09-08 1 views
0

J'utilise Rails 5. Dans mon modèle, j'ai cette règle de validationComment mettre un message de validation personnalisé pour une propriété "greater_than" de mon modèle?

 validates :price, :numericality => { :greater_than => 0 } 

pour un de mes champs. Je veux créer un message d'erreur de validation personnalisée mais cela n'affiche pour mon fichier ./config/locales/en.yml

en: 
    activerecord: 
    errors: 
     models: 
     my_record: 
      attributes: 
     ... 
      price: 
       greater_than: "Please etner a valid number for price." 

Lorsque je tente de charger mon application, je reçois l'erreur ci-dessous

can not load translations from /Users/davea/Documents/workspace/cindex/config/locales/en.yml: #<Psych::SyntaxError: (/Users/davea/Documents/workspace/cindex/config/locales/en.yml): found character that cannot start any token while scanning for the next token at line 30 column 1> 

Quelle est la bonne façon de configurer le message d'erreur personnalisé dans mon fichier de paramètres régionaux?

+2

entrée est mal orthographié, mais aussi quelle ligne est la ligne 30 dans votre yaml? Il semble que votre YAML est invalide avec une erreur de syntaxe sur cette ligne –

+0

vous devez d'abord valider votre fichier YAML, vous pouvez essayer ce site yamllint.com –

+0

Il y avait des onglets au lieu de blancs qui ont causé l'erreur. Venez Rails! Donnez-moi un message d'erreur que je peux comprendre! – Dave

Répondre

0

Définitivement un problème d'analyse YAML causé par une mauvaise mise en forme ou syntaxe. Vérifiez que vous n'avez pas de guillemets simples et que votre indentation est correcte aux lignes 29, 30 et 31