/// <summary> /// Verify each member in the non-strongly typed dictionary. <br /> /// 字典验证入口 /// </summary> /// <param name="keyValueCollections"></param> /// <returns></returns> public VerifyResult VerifyMany(IDictionary <string, object> keyValueCollections) { if (keyValueCollections is null) { return(_options.ReturnNullReferenceOrSuccess()); } VerifyResult result1 = null, result2 = null, result3 = null; var context = _objectResolver.Resolve <T>(keyValueCollections); if (_projectManager.TryResolve(_type, _name, out var project)) { result1 = project.VerifyMany(context.GetValueMap()); } if (_options.CustomValidatorEnabled) { result2 = CorrectEngine.ValidViaCustomValidators(context.GetValueMap(), _customValidatorManager.ResolveAll()); } if (_options.AnnotationEnabled) { result3 = _annotationValidator.Verify(context); } if (result1 is null && result2 is null && result3 is null) { return(_options.ReturnUnregisterProjectForSuchTypeOrSuccess()); } return(result1 is null ? VerifyResult.MakeTogether(result2, result3) : VerifyResult.Merge(result1, result2, result3)); }
/// <summary> /// Verify the entire entity <br /> /// 验证入口 /// </summary> /// <param name="instance"></param> /// <returns></returns> public VerifyResult Verify(T instance) { if (instance is null) { return(_options.ReturnNullReferenceOrSuccess()); } VerifyResult result1 = null, result2 = null, result3 = null; var context = _objectResolver.Resolve(instance); if (_projectManager.TryResolve(_type, _name, out var project)) { result1 = project.Verify(context); } if (_options.CustomValidatorEnabled) { result2 = CorrectEngine.ValidViaCustomValidators(context, _customValidatorManager.ResolveAll()); } if (_options.AnnotationEnabled) { result3 = _annotationValidator.Verify(context); } if (result1 is null && result2 is null && result3 is null) { return(_options.ReturnUnregisterProjectForSuchTypeOrSuccess()); } return(result1 is null ? VerifyResult.MakeTogether(result2, result3) : VerifyResult.Merge(result1, result2, result3)); }
private VerifyResult VerifyOneInternal(VerifiableMemberContext memberContext) { VerifyResult result1 = null, result2 = null, result3 = null; if (_projectManager.TryResolve(_type, _name, out var project)) { result1 = project.VerifyOne(memberContext); } if (_options.CustomValidatorEnabled) { result2 = CorrectEngine.ValidViaCustomValidators(memberContext, _customValidatorManager.ResolveAll()); } if (_options.AnnotationEnabled) { result3 = _annotationValidator.VerifyOne(memberContext); } if (result1 is null && result2 is null && result3 is null) { return(_options.ReturnUnregisterProjectForSuchTypeOrSuccess()); } return(result1 is null ? VerifyResult.MakeTogether(result2, result3) : VerifyResult.Merge(result1, result2, result3)); }