public static IMvcBuilder AddCrazyPriceValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining <SearchCriteriaValidator>()); mvcBuilder.AddJsonOptions(opts => { opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); opts.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; }); mvcBuilder.Services.Configure <ApiBehaviorOptions>(options => { options.InvalidModelStateResponseFactory = context => { var(key, value) = context.ModelState.First(e => e.Value.ValidationState == ModelValidationState.Invalid); var error = value.Errors[0].ErrorMessage; #region ForPrimitiveType // Needed if the controller gets a primitive type like string or int etc. if (error.Contains("''")) { error = error.Replace("''", $"'{key}'"); } #endregion return(new BadRequestObjectResult(error)); }; }); return(mvcBuilder); }
/// <summary> /// 添加FluentValidation /// </summary> /// <param name="builder"></param> /// <param name="services"></param> /// <returns></returns> public static IMvcBuilder AddValidation(this IMvcBuilder builder, IServiceCollection services) { builder.AddFluentValidation(); services.AddTransient <IValidator <SysUser>, UserValidator>(); return(builder); }
public static IMvcBuilder AddValidation(this IMvcBuilder builder) { builder .AddFluentValidation(configuration => configuration.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly())); return(builder); }
public static void AddValidationDependencies(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(opt => { opt.RegisterValidatorsFromAssemblyContaining <ProductCreateDtoValidator>(); }); }
/// <summary> /// Adds and configures FluentValidation for Mvc. /// </summary> public static IMvcBuilder AddAndConfigureFluentValidation(this IMvcBuilder mvcBuilder) { return(mvcBuilder.AddFluentValidation(configuration => { GetReferencedAssemblies().ToList() .ForEach(a => configuration.RegisterValidatorsFromAssembly(a)); })); }
public static IMvcBuilder UseCityApiFluentValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(x => { x.ImplicitlyValidateChildProperties = true; }); return(mvcBuilder); }
public static IMvcBuilder ConfigureFluentValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining <AddDepartmentCommandValidation>()); return(mvcBuilder); }
public static void AddFluentValidationServices(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(fv => { fv.RegisterValidatorsFromAssemblyContaining <CreateProductValidator>(); }); }
public static void AddValidationDependencies(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(opt => { opt.RegisterValidatorsFromAssemblyContaining <LoginViewModel>(); }); }
public static IServiceCollection AddValidation(this IServiceCollection services, IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation( cfg => { cfg.ConfigureClientsideValidation(x => { x.Add(typeof(GreaterThanOrEqualValidator), (context, rule, validator) => new GreatherThanOrEqualPropertyValidator(rule, validator)); x.Add(typeof(GreaterThanValidator), (context, rule, validator) => new GreatherThanPropertyValidator(rule, validator)); x.Add(typeof(LessThanValidator), (context, rule, validator) => new LessThanPropertyValidator(rule, validator)); x.Add(typeof(LessThanOrEqualValidator), (context, rule, validator) => new LessThanOrEqualPropertyValidator(rule, validator)); }); cfg.RegisterValidatorsFromAssemblyContaining <Startup>(); } ); return(services); }
private static IMvcBuilder RegisterValidators(this IMvcBuilder builder) => builder.AddFluentValidation(fv => fv .RegisterValidatorsFromAssemblyContaining <RegisterRequestValidator>() .RegisterValidatorsFromAssemblyContaining <LoginRequestValidator>() .RegisterValidatorsFromAssemblyContaining <QueryStringParamsValidator <QueryStringParams> >() .RegisterValidatorsFromAssemblyContaining <ResourceSaveRequestValidator>() .RegisterValidatorsFromAssemblyContaining <OperationRequestValidator>() .RegisterValidatorsFromAssemblyContaining <CyclicOperationRequestValidator>() .RegisterValidatorsFromAssemblyContaining <OperationCategoriesRequestValidator>());
public static IMvcBuilder AddContractValidators(this IMvcBuilder builder) { return(builder.AddFluentValidation(opt => { opt.ImplicitlyValidateChildProperties = true; opt.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly()); })); }
public static IMvcBuilder ConfigureFluentValidation(this IMvcBuilder mvcBuilder) { return(mvcBuilder.AddFluentValidation(options => { options.RegisterValidatorsFromAssemblyContaining <LoginModelValidation>(); options.RunDefaultMvcValidationAfterFluentValidationExecutes = false; })); }
public static IMvcBuilder AddFluentValidation(this IMvcBuilder builder) { return(builder.AddFluentValidation(fv => { fv.RegisterValidatorsFromAssemblyContaining <RegisterCaretakerRequestValidator>(); fv.RegisterValidatorsFromAssemblyContaining <RegisterCaretakerDto>(); })); }
public static IMvcBuilder AddDtoValidation(this IMvcBuilder builder, Type startupType) { builder.AddFluentValidation(fvc => fvc.RegisterValidatorsFromAssemblyContaining(startupType)); return(builder); }
public static void AddFluentValidation(this IMvcBuilder builder) { builder.AddFluentValidation(x => { x.RegisterValidatorsFromAssemblyContaining <Startup>(); x.RunDefaultMvcValidationAfterFluentValidationExecutes = false; }); }
public static IMvcBuilder AddDefaultFluentValidation(this IMvcBuilder mvcBuilder, IEnumerable <Assembly> assemblies, ServiceLifetime serviceLifetime = ServiceLifetime.Scoped) { return(mvcBuilder.AddFluentValidation(opt => { ConfigureFluentValidationMvc(opt, assemblies, serviceLifetime); })); }
public static IMvcBuilder AddNegocioFluentValidation(this IMvcBuilder builder) { builder.AddFluentValidation(config => { config.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly()); }); return(builder); }
public static IMvcBuilder UseIdentitiyApiFluentValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(x => { x.RegisterValidatorsFromAssemblyContaining <Startup>(); x.ImplicitlyValidateChildProperties = true; }); return(mvcBuilder); }
public static IMvcBuilder AddValidation(this IMvcBuilder services) { services .AddFluentValidation(x => x.RegisterValidatorsFromAssemblyContaining <TaxScheduleCreateDtoEnumerableValidator>()); return(services); }
public static IMvcBuilder AddDefaultValidation(this IMvcBuilder builder) { builder.AddFluentValidation(config => config.RegisterValidatorsFromAssemblyContaining <Startup>()); builder.Services.AddSingleton <IConfigureOptions <ApiBehaviorOptions>, ProblemJsonApiBehaviourOptionsSetup>(); return(builder); }
/// <summary> /// configuration fluent validation /// </summary> /// <param name="mvcBuilder"></param> public static IMvcBuilder ConfigFluentValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(fv => { fv.RegisterValidatorsFromAssemblyContaining <TodoModelValidation>(); }); return(mvcBuilder); }
public static void AddFluentValidators(this IMvcBuilder builder) { // 通过RegisterValidatorsFromAssemblies来自动注册程序集内的所有验证器 builder.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblies(ReflectionUtil.GetAssemblies())); // 验证模式设置为遇错即终止 ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure; }
public static IMvcBuilder ConfigureFluentValidation(this IMvcBuilder mvcBuilder) => mvcBuilder.AddFluentValidation(v => { v.RegisterValidatorsFromAssemblyContaining <SignInRequest>(); v.RegisterValidatorsFromAssemblyContaining <SignInWithExternalProviderRequest>(); v.RegisterValidatorsFromAssemblyContaining <SignUpRequest>(); v.RegisterValidatorsFromAssemblyContaining <ConfirmAccountRequest>(); v.RegisterValidatorsFromAssemblyContaining <ResetPasswordRequest>(); v.RegisterValidatorsFromAssemblyContaining <SendResetPasswordCallbackRequest>(); v.RegisterValidatorsFromAssemblyContaining <GetOfferRequest>(); v.RegisterValidatorsFromAssemblyContaining <GetOfferToUpdateRequest>(); v.RegisterValidatorsFromAssemblyContaining <AddOfferRequest>(); v.RegisterValidatorsFromAssemblyContaining <UpdateOfferRequest>(); v.RegisterValidatorsFromAssemblyContaining <DeleteOfferRequest>(); v.RegisterValidatorsFromAssemblyContaining <LikeOfferRequest>(); v.RegisterValidatorsFromAssemblyContaining <GetUserRequest>(); v.RegisterValidatorsFromAssemblyContaining <ChangePasswordRequest>(); v.RegisterValidatorsFromAssemblyContaining <ChangeEmailRequest>(); v.RegisterValidatorsFromAssemblyContaining <ChangeUsernameRequest>(); v.RegisterValidatorsFromAssemblyContaining <ChangePhoneNumberRequest>(); v.RegisterValidatorsFromAssemblyContaining <SetAvatarRequest>(); v.RegisterValidatorsFromAssemblyContaining <SendChangeEmailCallbackRequest>(); v.RegisterValidatorsFromAssemblyContaining <FollowUserRequest>(); v.RegisterValidatorsFromAssemblyContaining <AddOpinionRequest>(); v.RegisterValidatorsFromAssemblyContaining <DeleteOpinionRequest>(); v.RegisterValidatorsFromAssemblyContaining <MarkAsReadNotificationRequest>(); v.RegisterValidatorsFromAssemblyContaining <RemoveNotificationRequest>(); v.RegisterValidatorsFromAssemblyContaining <GetMessagesThreadRequest>(); v.RegisterValidatorsFromAssemblyContaining <SendMessageRequest>(); v.RegisterValidatorsFromAssemblyContaining <LikeMessageRequest>(); v.RegisterValidatorsFromAssemblyContaining <DeleteMessageRequest>(); v.RegisterValidatorsFromAssemblyContaining <ReadMessageRequest>(); v.RegisterValidatorsFromAssemblyContaining <CreateOfferAuctionRequest>(); v.RegisterValidatorsFromAssemblyContaining <AcceptOfferAuctionRequest>(); v.RegisterValidatorsFromAssemblyContaining <DenyOfferAuctionRequest>(); v.RegisterValidatorsFromAssemblyContaining <AddToCartRequest>(); v.RegisterValidatorsFromAssemblyContaining <RemoveCartItemRequest>(); v.RegisterValidatorsFromAssemblyContaining <PurchaseOrderRequest>(); v.RegisterValidatorsFromAssemblyContaining <DeleteOfferPhotoRequest>(); v.RegisterValidatorsFromAssemblyContaining <StartConnectionRequest>(); v.RegisterValidatorsFromAssemblyContaining <CloseConnectionRequest>(); v.RegisterValidatorsFromAssemblyContaining <GetLogsRequest>(); v.RegisterValidatorsFromAssemblyContaining <ToggleBlockAccountRequest>(); v.ImplicitlyValidateRootCollectionElements = true; });
/// <summary> /// 注册MVC服务 /// </summary> /// <param name="services"></param> private void AddGobalMvc(IServiceCollection services) { IMvcBuilder mvcBuilder = services.AddMvc(); //Csv var csvFormatterOptions = new CsvFormatterOptions(); mvcBuilder.AddMvcOptions(options => { options.Filters.AddService(typeof(HandlerExceptionFilter)); options.InputFormatters.Add(new CsvInputFormatter(csvFormatterOptions)); options.OutputFormatters.Add(new CsvOutputFormatter(csvFormatterOptions)); options.FormatterMappings.SetMediaTypeMappingForFormat("csv", MediaTypeHeaderValue.Parse("text/csv")); options.RespectBrowserAcceptHeader = true; options.InputFormatters.Add(new XmlSerializerInputFormatter()); options.OutputFormatters.Add(new XmlSerializerOutputFormatter()); }); // Force Camel Case to JSON mvcBuilder.AddJsonOptions(opts => { opts.SerializerSettings.ContractResolver = new BaseContractResolver(); opts.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc; opts.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; opts.SerializerSettings.Converters.Add(new TimeSpanConverter()); opts.SerializerSettings.Converters.Add(new GuidConverter()); opts.SerializerSettings.Formatting = Formatting.None; }); //foreach (var module in ExtensionManager.Modules) // // Register controller from modules // mvcBuilder.AddApplicationPart(module.Assembly); mvcBuilder.AddRazorOptions( o => { foreach (Assembly assembly in ExtensionManager.Assemblies) { o.FileProviders.Add(new EmbeddedFileProvider(assembly, assembly.GetName().Name)); } foreach (var module in ExtensionManager.Modules) { o.AdditionalCompilationReferences.Add(MetadataReference.CreateFromFile(module.Assembly.Location)); } } ).AddViewLocalization() .AddDataAnnotationsLocalization(); foreach (Action <IMvcBuilder> prioritizedAddMvcAction in GetPrioritizedAddMvcActions()) { this.logger.LogInformation("Executing prioritized AddMvc action '{0}' of {1}", GetActionMethodInfo(prioritizedAddMvcAction)); prioritizedAddMvcAction(mvcBuilder); } //注册模块FluentValidation验证 foreach (ModuleInfo moduleInfo in ExtensionManager.Modules) { mvcBuilder.AddFluentValidation(fv => fv.RegisterValidatorsFromAssembly(moduleInfo.Assembly)); } }
public static IMvcBuilder AddCustomFluentValidation <TStartup>(this IMvcBuilder builder) { return(builder.AddFluentValidation( config => { config.RegisterValidatorsFromAssemblyContaining <TStartup>(); config.RunDefaultMvcValidationAfterFluentValidationExecutes = false; })); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { IMvcBuilder builder = services.AddControllers(); builder.AddFluentValidation(fvc => { fvc.RegisterValidatorsFromAssemblyContaining <PersonDtoValidator>(); }); }
public static IServiceCollection ConfigureValidation(this IMvcBuilder builder, IServiceCollection services, Assembly assembly) { builder.AddFluentValidation(fv => { fv.RegisterValidatorsFromAssembly(assembly); }); services.Configure <ApiBehaviorOptions>(options => { options.SuppressModelStateInvalidFilter = true; }); return(services); }
public static IMvcBuilder AddValidation(this IMvcBuilder mvcBuilder) { mvcBuilder.AddFluentValidation(configuration => { configuration.RegisterValidatorsFromAssembly(typeof(Application.Common.Interfaces.IApplicationDbContext).Assembly); }); return(mvcBuilder); }
public static IMvcBuilder AddCustomFluentValidation(this IMvcBuilder builder) { return(builder.AddFluentValidation(fv => { fv.RunDefaultMvcValidationAfterFluentValidationExecutes = false; fv.RegisterValidatorsFromAssemblyContaining <UserDtoValidator>(); })); }