Как проверить поле, только если выбрана опция - RAILS 5 - PullRequest
0 голосов
/ 25 июня 2019

можно мне посоветовать, как проверить поле, только если выбрана опция

  • , поэтому у меня есть селектор, который имеет опции: parent & service provider
  • при выборе service provider скрытый селектор services отображается
  • Я хочу проверить наличие services только при выборе service provider (не при выборе parent) согласно изображению

будет написано что-то вроде ниже: validates_presence_of :category_service_id, presence: true, if: :category_segment_id?, message: "can't be blank "

Не могли бы вы мне посоветовать enter image description here

1 Ответ

1 голос
/ 25 июня 2019

Ты очень близко. Вам нужно сделать условную проверку (подробнее об этом в официальных руководствах ).

Вам нужно будет сделать следующее:

validates_presence_of :category_service_id, if: :service_provider?

# Marking the validation check method as private is optional, but recommended
private

def service_provider?
  <Your code to check if segment is service_provider comes here>
end

message не требуется, поскольку сообщение об ошибке по умолчанию будет can't be blank.

Я бы настоятельно рекомендовал прочитать документ, упомянутый в ссылке выше, для лучшего понимания проверок.

ПРИМЕЧАНИЕ: метод service_provider? не требуется, если вы используете перечисления для выбора между service_provider и parent, поскольку по умолчанию перечисления определяют методы option?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...