public override Object Clone() { var cloneCopy = new OpenApiBodyValidator(this._context, this._openApiElement); this.Copy(cloneCopy); return(cloneCopy); }
public override void AddRule(IValidate rule) { if (rule is OpenApiParameterRule) { var _openApiParameterRule = rule as OpenApiParameterRule; switch (_openApiParameterRule.InParameterLocation) { case ParameterLocation.Query: //Query = 0, if (_queryValidator == null) { _queryValidator = new OpenApiQueryStringValidator(_validatorContext); } _queryValidator.AddRule(_openApiParameterRule); break; case ParameterLocation.Header: //Header = 1, if (_headerValidator == null) { _headerValidator = new OpenApiHeadersValidator(_validatorContext); } _headerValidator.AddRule(_openApiParameterRule); break; case ParameterLocation.Path: //Path = 2, if (_pathValidator == null) { _pathValidator = new OpenApiPathValidator(_validatorContext); } _pathValidator.AddRule(_openApiParameterRule); break; case ParameterLocation.Cookie: //Cookie = 3 if (_cookiesValidator == null) { _cookiesValidator = new OpenApiCookiesValidator(_validatorContext); } _cookiesValidator.AddRule(_openApiParameterRule); break; case null: break; default: break; } } else if (rule is OpenApiBodyValidator) { _bodyValidator = rule as OpenApiBodyValidator; } }
//if (!parameter.AllowEmptyValue) //validator.AddRule(BuildRequired(_validatorContext, parameter)); //private IValidate BuildRequired(IValidatorContext validatorContext, IOpenApiElement openApiElement) //{ //return new OpenApiRequiredRule<IOpenApiElement>(validatorContext, openApiElement); //switch (schema.Type) //{ // case "string": // new ValidatorRule<string, IOpenApiElement>(validatorContext, openApiElement); // break; // case "boolean": // new ValidatorRule<bool, IOpenApiElement>(validatorContext, openApiElement); // break; // case "boolean": // new ValidatorRule<bool, IOpenApiElement>(validatorContext, openApiElement); // break; // default: // break; //} //return null; //} /// <summary> /// /// </summary> public IValidate Build(OpenApiRequestBody requestBody) { IValidate validator = new OpenApiBodyValidator(_validatorContext, requestBody); return(validator); }