2013-02-20 23 views

Trả lời

19

Bạn có thể cung cấp cho nhiều tên trường để một validator

validates :col_a, :col_b, :col_c, :presence => true 

Bạn có thể chỉ định nhiều xác nhận trong cùng một dòng.

validates :col_a, :col_b, :col_c, :presence => true, :numericality => true 

Thông báo lỗi đầy đủ sẽ chứa tên trường. Bạn không cần thêm tiền tố tên trường. Nếu bạn muốn sử dụng thông báo tùy chỉnh thì:

validates :col_a, :col_b, :col_c, :presence => {:message => "empty value found"} 
1

Sử dụng trình trợ giúp validates_presence_of.

validates_presence_of :col_a 

EDIT

Bạn có thể làm sạch nó lên một chút với validates_each. Có một ví dụ trên trang api. http://api.rubyonrails.org/classes/ActiveModel/Validations.html

Hy vọng rằng sẽ giúp

+0

Cảm ơn. Tôi biết về helper <3 helper. Câu hỏi đặt ra là (a) cách sử dụng trình xác nhận kiểu đường ray 3, (b) cách xử lý nhiều cols chính xác hơn, hy vọng với các thông điệp tùy chỉnh cho mỗi. – danh

+0

validates_each nên dọn dẹp cho bạn – jbearden

2

Bạn có thể sử dụng

validates :col_a, presence: true 
validates :col_b, presence: true 
validates :col_c, presence: true 
Các vấn đề liên quan