컨텍스트 외부에서 Rails 유효성 검사기를 사용하는 방법
3785 단어 railsvalidationdry
ActiveModel::Validations::NumericalityValidator.new(attributes: [nil]).send(:is_number?, "666", Float::DIG, nil)
=> true
ActiveModel::Validations::NumericalityValidator.new(attributes: [nil]).send(:is_number?, "meh", Float::DIG, nil)
=> false
이제 예를 들어 JSON 열에 저장하기 전에 중첩된 JSON 값의 유효성을 검사할 수 있습니다.
# app/models/amendment.rb
class Amendment > ApplicationRecord
store_accessor :amendments, :clauses
validate :amendments_validation
private
def amendments_validation
if self.clauses.present?
if self.clauses["price"].present?
errors.add(:clauses, "price is not a number") unless ActiveModel::Validations::NumericalityValidator.new(attributes:[nil]).send(:is_number?, self.clauses["price"], Float::DIG, nil)
end
end
end
end
Reference
이 문제에 관하여(컨텍스트 외부에서 Rails 유효성 검사기를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/haroldus/how-to-use-rails-validators-out-of-context-3gi0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)