Có cách nào để xác thực rằng một text_field không bằng một giá trị khác trước khi lưu bản ghi? Tôi có hai text_fields với số nguyên trong chúng và chúng không thể giống hệt nhau cho bản ghi hợp lệ.Rails xác nhận rằng một giá trị không bằng
6
A
Trả lời
8
Bạn có thể thêm một xác nhận tùy chỉnh:
class Something
validate :fields_a_and_b_are_different
def fields_a_and_b_are_different
if self.a == self.b
errors.add(:a, 'must be different to b')
errors.add(:b, 'must be different to a')
end
end
Điều đó sẽ được gọi mỗi khi đối tượng của bạn được xác nhận (hoặc rõ ràng hoặc khi bạn lưu với xác nhận) và sẽ thêm lỗi vào cả hai trường. Bạn có thể muốn có lỗi trên cả hai trường để hiển thị chúng khác nhau trong biểu mẫu.
Nếu không, bạn có thể chỉ cần thêm một lỗi cơ bản:
errors.add(:base, 'a must be different to b')
5
Trong mô hình của bạn:
validate :text_fields_are_not_equal
def text_fields_are_not_equal
self.errors.add(:base, 'Text_field1 and text_field2 cannot be equal.') if self.text_field1 == self.text_field2
end
Các vấn đề liên quan
- 1. Rails 3: Xác nhận kết hợp các giá trị
- 2. Rails: làm thế nào để tôi xác nhận rằng một cái gì đó là một boolean?
- 3. Chú thích xác nhận Hibernate - xác nhận rằng ít nhất một trường không phải là rỗng
- 4. Xác nhận giá trị Maven trong Java
- 5. Xác nhận giá trị tài sản
- 6. Xác nhận rằng một hàm ném ngoại lệ với Qunit
- 7. Xác minh rằng một cột tồn tại trong DataRow trước khi đọc giá trị
- 8. Rails có mặt xác nhận thất bại trên giá trị 0
- 9. Trình biên dịch nghĩ rằng "A (A &)" chấp nhận giá trị trong một thời điểm?
- 10. Làm cách nào để xác thực hai giá trị đó không bằng nhau trong một mô hình Rails?
- 11. Ruby/Rails sử dụng || để xác định giá trị, sử dụng một chuỗi rỗng thay vì một giá trị nil
- 12. Xác nhận ngày trong Rails 3
- 13. System.Environment.Version cung cấp một giá trị không chính xác
- 14. Làm thế nào tôi có thể diễn tả rằng hai giá trị không bằng nhau?
- 15. Nhận giá trị Request.Headers
- 16. Rails Delegate Đặt giá trị
- 17. Loại giá trị không xác định JSON
- 18. xác thực asp.net để đảm bảo rằng hộp văn bản có giá trị số nguyên
- 19. Xác nhận rằng một phương thức được gọi chính xác một lần
- 20. DataGridView xác nhận giá trị cũ insted của giá trị mới
- 21. không bằng nhiều giá trị
- 22. như '%' không chấp nhận giá trị NULL
- 23. Xác nhận cho các giá trị ô Datagridview trong C#
- 24. Lặp giữa mỗi đầu vào để xác nhận giá trị
- 25. Giản đồ JSON - làm cách nào để xác định rằng giá trị boolean phải là false?
- 26. Nhận con của phần tử bằng giá trị thuộc tính
- 27. Gurobi python nhận giá trị của biến được xác định
- 28. Tôi có thể xác nhận giá trị @property trong Objective-C bằng các phương thức @synthesized không?
- 29. Xác nhận rằng bộ sưu tập "Chứa ít nhất một phần tử không null"
- 30. Giá trị nào không thể được biểu diễn chính xác bằng một đôi