복붙노트

[RUBY-ON-RAILS] 유효성 검사 비용 - 루비 온 레일즈

RUBY-ON-RAILS

유효성 검사 비용 - 루비 온 레일즈

어떤 것은 사용자가 비용 / 가격 입력의 유효성을 확인하는 가장 좋은 방법입니다, 유효성 검사 규칙 아래 :

해결법

  1. ==============================

    1.

    #rails 3    
    validates :price, :format => { :with => /\A\d+(?:\.\d{0,2})?\z/ }, :numericality => {:greater_than => 0, :less_than => 10}
    
    #rails 2
    validates_numericality_of :price, :greater_than => 0, :less_than => 10    
    validates_format_of :price, :with => /\A\d+(?:\.\d{0,2})?\z/
    
  2. ==============================

    2.클라이언트 측 검증을 위해 당신은 당신이 주어진 입력에 대해 서로 다른 유효한 형식을 정의 할 수 있습니다 이와 같은 jQuery 플러그인을 사용할 수 있습니다.

    클라이언트 측 검증을 위해 당신은 당신이 주어진 입력에 대해 서로 다른 유효한 형식을 정의 할 수 있습니다 이와 같은 jQuery 플러그인을 사용할 수 있습니다.

    이 질문 / 대답에 따라 어쩌면 당신은 정밀도와 스케일에 대한 값을 정의 할 수있는 가격에 소수의 열을 사용한다 서버 측 검증과 규모는 소수점 제한 후 두 자리를 해결합니다.

    그런 다음 다음 검증 방법을 사용할 수있는 numericality, 최소 및 최대 값을 확인합니다 :

    validates_numericality_of :price, :greater_than => 0, :less_than => 10
    
  3. ==============================

    3.당신은 사용자 정의 validations.Lets는 예를 들어 두 번째 경우에, 말을 구축 할 수 있습니다 :

    당신은 사용자 정의 validations.Lets는 예를 들어 두 번째 경우에, 말을 구축 할 수 있습니다 :

    validate :price_has_to_be_greater_than_minimum
    
    def price_has_to_be_greater_than_minimum
      errors.add(:price, "price has to be greater than 0.01") if
      !price.blank? and price > 0.01
    end
    

    보기에, 레일 가이드에서, 여기.

  4. from https://stackoverflow.com/questions/4173530/ruby-on-rails-validate-a-cost by cc-by-sa and MIT license