Я использую в качестве механизма проверки подлинности в своем приложении. Есть ли способ использовать пользовательские сообщения при сбое проверки. Devise предоставляет мне следующее сообщение, когда пароль пуст: Password can't be blank
, но мне нужно другое сообщение. Как мне это сделать?Создавать пользовательские сообщения при завершении проверки
ответ
ActiveRecord en.yml является ответ, который я хотел бы предложить, если вы хотите изменить Validation сообщение для Devise
Вот как эн. yml должно выглядеть так:
en:
activerecord:
errors:
models:
user:
attributes:
email:
blank: "Please Specify an Email id"
taken: "Please use a different Email id"
invalid: "Please Specify a valid Email id"
password:
blank: "Please Specify a Password"
confirmation: "Password does not match"
password_confirmation:
blank: "Please Specify a Password Confirmation"
first_name:
blank: "Please Specify First Name"
last_name:
blank: "Please Specify Last Name"
pdf:
attributes:
name:
blank: "Please Specify name to PDF"
taken: "Please use different name for PDF"
attachment:
blank: "Please Upload a PDF Attachment"
data_element:
attributes:
name:
blank: "Please give Element a desired name"
taken: "Already Created Element with given name"
color:
blank: "Please assign a color to Element"
template:
attributes:
name:
blank: "Please Specify a Name"
taken: "Please use a different name"
I a DVICE вам определить этот путь вместо настройки разработать модуль Validation
Потому что если вы будете следовать выше подход, можно было бы, что бы вы пропустить валидацию место или два
Примеру Я, удалить выше Завещание модуль проверки, а затем substitue самостоятельно в пользователя Модель
то все проверки будут работать, но вы не пропустили бы проверку в изменении пароля
там результирующей твой войти в системе, даже если пароль не был поставлен и никогда данный
Держите петлю, что слишком
Cheer
С уважением
Не полный ответ, но похоже, что он должен быть разрешен с помощью I18n либо с внутренними ключами разработки, либо путем переопределения сообщений об ошибках активной записи для вашей модели пользователя.
Вот аналогичный вопрос: Devise attributes for i18n?
Пожалуйста, обратитесь к ниже URL.
http://railscasts.com/episodes/210-customizing-devise?view=asciicast
Если пользователь подписывает, вы можете редактировать все сообщения об ошибках в devise.en.yml
под config/locales
.
Если вы регистрируетесь, Devise предоставляет свои собственные проверки из коробки без какой-либо настройки. Если вы хотите настроить его, вы можете отредактировать модель User
.
Найти devise :validatable
и снять опцию :validatable
. После этого вы сможете использовать обычные проверки рельсов. Обратите внимание, что это приведет к необходимости выполнять все проверки самостоятельно.
validates_presence_of :password, :message=>"Your custom error message!"
Некоторые обычные валидация:
validates_confirmation_of :password
validates_presence_of :password, :on => :create
validates_presence_of :email
validates_uniqueness_of :email
Вы можете настроить DEViSE сообщения от конфигурации/локалей/devise.en.yml, но если вы хотите, чтобы изменить сообщение проверки, то delete: validatable from Model. Затем вы можете изменить сообщение проверки, как раньше. Например:
validates_uniqueness_of :email, :case_sensitive => false, :allow_blank => true, :if => :email_changed?
validates_format_of :email, :with => Devise.email_regexp, :allow_blank => true, :if => :email_changed?
validates_presence_of :password, :on=>:create
validates_confirmation_of :password, :on=>:create
validates_length_of :password, :within => Devise.password_length, :allow_blank => true
- 1. JQuery пользовательские сообщения проверки
- 2. Rails пользовательские сообщения проверки
- 3. Пользовательские проверки сообщения, конкретный язык
- 4. Перевести пользовательские сообщения проверки jQuery
- 5. Нечетный NoMethodError при завершении проверки
- 6. Отключить кнопку при завершении проверки
- 7. Предотвращение перемещения курсора при завершении проверки.
- 8. Пользовательские сообщения об ошибках проверки JAXB
- 9. Плагин проверки jQuery, не отображающий пользовательские сообщения
- 10. L5 пользовательские сообщения проверки не отображаются
- 11. Пользовательские сообщения Laravel для проверки массива
- 12. Возврат из метода при завершении проверки
- 13. yii2 обновить captcha при завершении проверки
- 14. Отображение загрузочной вкладки 3 при завершении проверки
- 15. Какая информация отображается при завершении проверки AntiForgeryToken?
- 16. Сохранять p: диалог при завершении проверки
- 17. Изменение класса css при завершении проверки
- 18. Отображать пользовательские сообщения проверки с использованием массива проверки CakePHP $
- 19. Отображение сообщения о завершении запроса
- 20. Перезагрузка файла при загрузке файла при загрузке при завершении проверки
- 21. Создавать пользовательские «настройки сборки»
- 22. jQuery Подтвердить пользовательские сообщения об успешных повторениях при повторной проверке
- 23. как создавать пользовательские приглашения сообщения присоединиться пользователями в чате - привкус
- 24. Пользовательские проверки уникальности не удалось при обновлении
- 25. MVC3 и пользовательские сообщения проверки на стороне клиента
- 26. Восстановить поля ввода при завершении проверки при обновлении строки Laravel
- 27. Пользовательские проверки Rails Model
- 28. Пользовательские сообщения проверки всплывают, даже когда ввод действителен
- 29. Зачем создавать пользовательские исключения?
- 30. создавать пользовательские андроид вкладки
ГДЕ Это? 'Конфиг/местные/en.yml'? – ahnbizcad
Что вы имеете в виду, избавившись от модуля «над модулем разработки выше» и создайте свой собственный в пользовательской модели? Во-первых, нет модуля проверки надстройки. То, что вы написали выше, это файл en.yml, а не файл devise.en.yml. И даже файл devise.en.yml не является модулем проверки. Как вы можете поместить код devise.en.yml в модель User? Это как квадратная привязка в круглое отверстие. Что вы подразумеваете под «держать петлю этого тоже»? Что он перейдет в бесконечный цикл, если проверка «сменить пароль» будет пропущена? – ahnbizcad
Другой вопрос: Я думал, что эти сообщения yml были сообщениями, а не действительными валидациями. Зачем менять их в обход проверки? Возможно, мои предложенные изменения - это не то, что вы имели в виду, но это было неясно. – ahnbizcad