| Module | Sequel::Plugins::AutoValidations::InstanceMethods |
| In: |
lib/sequel/plugins/auto_validations.rb
|
Validate the model‘s auto validations columns
# File lib/sequel/plugins/auto_validations.rb, line 176
176: def validate
177: super
178: opts = model.auto_validate_options
179:
180: unless (not_null_columns = model.auto_validate_not_null_columns).empty?
181: if model.auto_validate_presence?
182: validates_presence(not_null_columns, opts[:not_null])
183: else
184: validates_not_null(not_null_columns, opts[:not_null])
185: end
186: end
187: unless (not_null_columns = model.auto_validate_explicit_not_null_columns).empty?
188: if model.auto_validate_presence?
189: validates_presence(not_null_columns, opts[:explicit_not_null])
190: else
191: validates_not_null(not_null_columns, opts[:explicit_not_null])
192: end
193: end
194: unless (max_length_columns = model.auto_validate_max_length_columns).empty?
195: max_length_columns.each do |col, len|
196: validates_max_length(len, col, opts[:max_length])
197: end
198: end
199:
200: validates_schema_types(keys, opts[:schema_types]) if model.auto_validate_types?
201:
202: unique_opts = Hash[opts[:unique]]
203: if model.respond_to?(:sti_dataset)
204: unique_opts[:dataset] = model.sti_dataset
205: end
206: model.auto_validate_unique_columns.each{|cols| validates_unique(cols, unique_opts)}
207: end