Pip-Services-Commons-Dotnet
Public Member Functions | Properties | List of all members
PipServices3.Commons.Validate.PropertySchema Class Reference

Schema to validate object properties More...

Inheritance diagram for PipServices3.Commons.Validate.PropertySchema:
PipServices3.Commons.Validate.Schema

Public Member Functions

 PropertySchema ()
 Creates a new validation schema. More...
 
 PropertySchema (string name, object type)
 Creates a new validation schema and sets its values. More...
 
- Public Member Functions inherited from PipServices3.Commons.Validate.Schema
 Schema ()
 Creates a new instance of validation schema. More...
 
 Schema (bool required, List< IValidationRule > rules)
 Creates a new instance of validation schema and sets its values. More...
 
Schema MakeRequired ()
 Makes validated values always required (non-null). For null values the schema will raise errors. More...
 
Schema MakeOptional ()
 Makes validated values optional. Validation for null values will be skipped. More...
 
Schema WithRule (IValidationRule rule)
 Adds validation rule to this schema. This method returns reference to this exception to implement Builder pattern to chain additional calls. More...
 
List< ValidationResultValidate (object value)
 Validates the given value and results validation results. More...
 
void ValidateAndThrowException (string correlationId, object value, bool strict=false)
 Validates the given value and returns a ValidationException if errors were found. More...
 

Properties

string Name [get, set]
 
object Type [get, set]
 
- Properties inherited from PipServices3.Commons.Validate.Schema
bool IsRequired [get, set]
 
List< IValidationRuleRules [get, set]
 

Additional Inherited Members

- Protected Member Functions inherited from PipServices3.Commons.Validate.Schema
void PerformTypeValidation (string path, object type, object value, List< ValidationResult > results)
 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. More...
 

Detailed Description

Schema to validate object properties

var schema = new ObjectSchema().WithProperty(new PropertySchema("id", 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

Constructor & Destructor Documentation

◆ PropertySchema() [1/2]

PipServices3.Commons.Validate.PropertySchema.PropertySchema ( )

Creates a new validation schema.

◆ PropertySchema() [2/2]

PipServices3.Commons.Validate.PropertySchema.PropertySchema ( string  name,
object  type 
)

Creates a new validation schema and sets its values.

Parameters
name(optional) a property name
type(optional) a property type

The documentation for this class was generated from the following file: