/// <summary> /// Adds a validation schema for an optional object property. /// </summary> /// <param name="name">a property name.</param> /// <param name="type">(optional) a property schema or type.</param> /// <param name="rules">(optional) a list of property validation rules.</param> /// <returns>the validation schema</returns> public ObjectSchema WithOptionalProperty(string name, object type, params IValidationRule[] rules) { Properties = Properties ?? new List <PropertySchema>(); var schema = new PropertySchema(name, type) { Rules = new List <IValidationRule>(rules) }; schema.MakeOptional(); return(WithProperty(schema)); }
/// <summary> /// Adds a validation schema for an object property. /// /// This method returns reference to this exception to implement Builder pattern /// to chain additional calls. /// </summary> /// <param name="schema">a property validation schema to be added.</param> /// <returns>this validation schema.</returns> /// See <see cref="PropertySchema"/> public ObjectSchema WithProperty(PropertySchema schema) { Properties = Properties ?? new List <PropertySchema>(); Properties.Add(schema); return(this); }