ObjectSchema class

Schema to validate user defined objects.

Example

var schema =  ObjectSchema(false)
    .withOptionalProperty('id', TypeCode.String)
    .withRequiredProperty('name', TypeCode.String);

schema.validate({ id: '1', name: 'ABC' });       // Result: no errors
schema.validate({ name: 'ABC' });                // Result: no errors
schema.validate({ id: 1, name: 'ABC' });         // Result: id type mismatch
schema.validate({ id: 1, _name: 'ABC' });        // Result: name is missing, unexpected _name
schema.validate('ABC');                          // Result: type mismatch
Inheritance
Implementers

Constructors

ObjectSchema([bool? allowUndefined, bool? req, List<IValidationRule>? rules])
Creates a new validation schema and sets its values.

Properties

hashCode int
The hash code for this object.
no setterinherited
isUndefinedAllowed bool
Gets flag to allow undefined properties
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

allowUndefined(bool value) ObjectSchema
Sets flag to allow undefined properties
getProperties() List<PropertySchema>
Gets validation schemas for object properties.
getRules() List<IValidationRule>?
Gets validation rules to check values against.
inherited
isRequired() bool
Gets a flag that always requires non-null values. For null values it raises a validation error.
inherited
makeOptional() Schema
Makes validated values optional. Validation for null values will be skipped.
inherited
makeRequired() Schema
Makes validated values always required (non-null). For null values the schema will raise errors.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
performTypeValidation(String? path, dynamic type, dynamic value, List<ValidationResult> results) → void
Validates a given value to match specified type. The type can be defined as a Schema, type, a type name or TypeCode When type is a Schema, it executes validation recursively against that Schema.
inherited
performValidation(String? path, dynamic value, List<ValidationResult> results) → void
Validates a given value against the schema and configured validation rules.
override
setProperties(List<PropertySchema> value) → void
Sets validation schemas for object properties.
setRequired(bool value) → void
Sets a flag that always requires non-null values.
inherited
setRules(List<IValidationRule> value) → void
Sets validation rules to check values against.
inherited
toString() String
A string representation of this object.
inherited
validate(dynamic value) List<ValidationResult>
Validates the given value and results validation results.
inherited
validateAndReturnException(String? correlationId, dynamic value, [bool strict = false]) ValidationException?
Validates the given value and returns a ValidationException if errors were found.
inherited
validateAndThrowException(String? correlationId, dynamic value, [bool strict = false]) → void
Validates the given value and throws a ValidationException if errors were found.
inherited
withOptionalProperty(String name, [dynamic type, List<IValidationRule>? rules]) ObjectSchema
Adds a validation schema for an optional object property.
withProperty(PropertySchema schema) → dynamic
Adds a validation schema for an object property.
withRequiredProperty(String name, [dynamic type, List<IValidationRule>? rules]) ObjectSchema
Adds a validation schema for a required object property.
withRule(IValidationRule rule) Schema
Adds validation rule to this schema.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited