0

Rails4 のバリデーターのカスタム メッセージに問題があります。デバイス登録システムを備えたアプリがあります。私のモデルにはいくつかのバリデーターがあります:

 validates :name, length: {maximum: 45}, presence: true
 validates :surname, length: {maximum: 45}, presence: true
 validates :phone, :phony_plausible => true, presence: true
 validates :company_name, length: {maximum: 100}, presence: true
 validates :address, length: {maximum: 50}, presence: true
 validates :city, length: {maximum: 70}, presence: true
 validates :zip_code, presence: true, length: {is: 6}
 validates :nip, nip: true

ユーザーが名前の入力を空白のままにすると、次のメッセージが表示されます。

Name can't be blank

バリデーターにメッセージ オプションを追加すると、次のようになります。

  validates :name, length: {maximum: 45}, presence: {message: "Imię nie może być puste"}

次のメッセージがあります。名前は Imię nie może być puste です。メッセージにこの名前の単語を入れたくありません。これを行う方法?

4

1 に答える 1

0

config/locales/en.yml で

en: activerecord: attributes: [model_name_goes_here]: [attribute_name_goes here]: "" errors: models: [model_name_goes_here]: attributes: [attribute_name_goes_here]: blank: "Email can't be blank"

例:

en: activerecord: attributes: user: email: "" errors: models: veteran: attributes: email: blank: "Email can't be blank"

たとえば、「電子メールを空白にすることはできません」と表示する代わりに、「空白にすることはできません」と表示します。基本的に、「name:」を空の文字列に等しいエイリアスに置き換えています。"name:" を name: "Your name" に設定できます

en: activerecord: attributes: user: name: "Your name"

「あなたの名前は空白にできません」と表示されます

于 2017-01-13T01:40:13.107 に答える