사용자 지정 유효성 검사 방법이 있습니다.
def my_custom_validation
errors.add(specific_field, "error message") if specific_field.delete_if { |i| i.blank? }.blank?
end
목표는 [""]
검증 통과 가 포함 된 매개 변수를 허용하지 않는 것이지만이 메서드를 다음과 같이 호출해야합니다.
validate :my_custom_validation #and somehow pass here my field names
예를 들면 :
validate :my_custom_validation(:industry)
이런 식으로 여러 속성의 유효성을 검사해야하므로 다음과 같은 사용자 지정 유효성 검사기를 권장합니다.
class EmptyArrayValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.errors[attribute] << (options[:message] || "cannot be emtpy") if value.delete_if(&:blank?).empty?
end
end
그런 다음
validates :industry, empty_array: true
validates :your_other_attribute, empty_array: true
또는 하나의 모델에만 필요하기 때문에 클래스를 특별히 생성하지 않으려면 모델 자체에이를 포함 할 수 있습니다.
validates_each :industry, :your_other_attribute, :and_one_more do |record, attr, value|
record.errors.add(attr, "cannot be emtpy") if value.delete_if(&:blank?).empty?
end
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다