Tạo custom validator trong model như thế nào?
Tạo custom validator trong model như thế nào?
Để tạo custom validator trong một model, bạn cần làm theo các bước sau:
1. **Tạo lớp Validator**: Tạo một lớp mới kế thừa từ `ActiveModel::Validator` hoặc `ActiveModel::EachValidator`. Lớp này sẽ chứa logic xác thực mà bạn muốn áp dụng. Ví dụ:
```ruby
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
unless value =~ /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/
record.errors.add(attribute, "không đúng định dạng email")
end
end
end
middle