2011-08-06 34 views
15

Tôi đang cố tạo một thông báo xác thực tùy chỉnh đơn giản. Xác nhận Tôi đang sử dụng biên dịch và chạy tốt, nhưng tôi không thấy bất kỳ sự thay đổi trong thông điệp:Đường ray: Thông báo xác thực tùy chỉnh

validates :rating, :inclusion => { :in => 0..5 }, :presence => { :message => " must be within 0-5" }

Thông điệp tôi nhận được vẫn là Rating is not included in the list

tôi cần phải xác nhận rằng rating là hiện tại và là một decimal giữa 0-5

Trả lời

24

Được rồi, tôi đã giải quyết. Đây là xác nhận rằng hoạt động:

validates :rating, :inclusion => { :in => 0..5, :message => " should be between 0 to 5" } 
validates :rating, :presence => { :message => " cannot be blank" } 

và tôi thêm này

validates :rating, :numericality => { :message => " should be a number" }

+0

phải, tham khảo ở đây: http://edgeguides.rubyonrails.org/active_record_validations_callbacks.html nên đã xem xét trước, + 1 mặc dù – apneadiving

+11

Có cách nào để loại bỏ tiền tố tên trường không? – IIllIIll

+0

Để loại bỏ tiền tố tên trường, bạn có thể sử dụng 'message: nil' và nó sẽ không có bất kỳ thông báo nào cho việc xác thực đó – Miguelgraz

Các vấn đề liên quan