module Lutaml::Model::Validation
def validate(register: Lutaml::Model::Config.default_register)
def validate(register: Lutaml::Model::Config.default_register) errors = [] self.class.attributes.each do |name, attr| value = public_send(:"#{name}") begin if value.respond_to?(:validate) errors.concat(value.validate) else attr.validate_value!(value, register) end rescue Lutaml::Model::InvalidValueError, Lutaml::Model::CollectionCountOutOfRangeError, Lutaml::Model::CollectionTrueMissingError, Lutaml::Model::PolymorphicError, Lutaml::Model::ValidationFailedError, PatternNotMatchedError => e errors << e end end validate_helper(errors) end
def validate!(register: Lutaml::Model::Config.default_register)
def validate!(register: Lutaml::Model::Config.default_register) errors = validate(register: register) raise Lutaml::Model::ValidationError.new(errors) if errors.any? end
def validate_helper(errors)
def validate_helper(errors) self.class.choice_attributes.each do |attribute| attribute.validate_content!(self) end errors rescue Lutaml::Model::ChoiceUpperBoundError, Lutaml::Model::ChoiceLowerBoundError => e errors << e end