18 lines
508 B
Ruby
18 lines
508 B
Ruby
class UsersArrayValidator < ActiveModel::EachValidator
|
|
|
|
def validate_each(record, attribute, valueArray)
|
|
unless valueArray.empty?
|
|
res = begin
|
|
users = Devops::Model::User.find(valueArray)#.projection({'_id' => true})
|
|
valueArray - users.map{|u| u.id}
|
|
rescue Mongoid::Errors::DocumentNotFound
|
|
valueArray
|
|
end
|
|
unless res.empty?
|
|
record.errors.add attribute, (options[:message] || "User(s) '#{res.join("', '")}' not found")
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|