16 lines
		
	
	
		
			401 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			401 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| class CategoriesArrayValidator < ActiveModel::EachValidator
 | |
| 
 | |
|   RUN_LIST_REGEX = /\A(role|recipe)\[[\w-]+(::[\w-]+)?\]\Z/
 | |
| 
 | |
|   def validate_each(record, attribute, valueArray)
 | |
|     valueArray.each_with_index do |i, category|
 | |
|       unless category.valid?
 | |
|         category.errors.each do |key, value|
 | |
|           record.errors.add "#{attribute}.#{i}.#{key}", value[0]
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| 
 | |
| end
 | 
