public RegisterModelValidator(IValidationResultProvider validationResultProvider,
                                      IStringLocalizer <RegisterModelValidator> localizer,
                                      AppEntitySchema entitySchema) : base(validationResultProvider, localizer)
        {
            var appUserType = typeof(AppUserEntity);

            RuleFor(model => model.Username)
            .NotEmpty().InvalidState()
            .MinimumLength(SecurityConsts.AccountConstraints.UsernameMinLength).InvalidState()
            .FollowSchema(entitySchema, appUserType, nameof(AppUserEntity.UserName)).InvalidState();

            RuleFor(model => model.Password)
            .NotEmpty().InvalidState()
            .Length(SecurityConsts.AccountConstraints.PasswordMinLength,
                    SecurityConsts.AccountConstraints.PasswordMaxLength).InvalidState();

            RuleFor(model => model.ConfirmPassword)
            .Equal(model => model.Password).WithMessage(localizer[Resources.ConfirmPasswordDoesNotMatch])
            .InvalidState();

            RuleFor(model => model.FullName)
            .FollowSchema(entitySchema, appUserType, nameof(AppUserEntity.FullName)).InvalidState();

            RuleFor(model => model.Email)
            .EmailAddress().InvalidState()
            .FollowSchema(entitySchema, appUserType, nameof(AppUserEntity.Email)).InvalidState();
        }
Example #2
0
        public DataContext(DbContextOptions options,
                           IOptionsSnapshot <QueryFilterOptions> queryFilterOptions = null,
                           IBusinessContextProvider businessContextProvider         = null,
                           AppEntitySchema entitySchema = null) : base(options, queryFilterOptions)
        {
            _businessContextProvider = businessContextProvider;

            if (_model != null)
            {
                entitySchema.InitSchema(_model.ParseSchema());
            }
        }
        public ChangeUserRolesBaseModelValidator(IValidationResultProvider validationResultProvider,
                                                 IStringLocalizer <ChangeUserRolesBaseModelValidator> localizer,
                                                 AppEntitySchema entitySchema) : base(validationResultProvider, localizer)
        {
            RuleFor(model => model.Username).NotEmpty()
            .WithState(model => ResultCode.Identity_InvalidChangeUserRolesRequest)
            .FollowSchema(entitySchema, typeof(AppUserEntity), nameof(AppUserEntity.UserName))
            .WithState(model => ResultCode.Identity_InvalidChangeUserRolesRequest);

            RuleFor(model => model.Roles).Cascade(CascadeMode.Stop)
            .NotEmpty()
            .Must(roles => roles.All(role => RoleName.All.Contains(role)))
            .WithMessage(localizer[Resources.InvalidRoleName])
            .WithState(model => ResultCode.Identity_InvalidChangeUserRolesRequest);
        }
Example #4
0
        public PostCategoryLocalizationEditableModelValidator(IValidationResultProvider validationResultProvider,
                                                              IStringLocalizer <PostCategoryLocalizationEditableModelValidator> localizer,
                                                              AppEntitySchema entitySchema) : base(validationResultProvider, localizer)
        {
            var pcLocalizationType = typeof(PostCategoryLocalizationEntity);

            RuleFor(model => model.Title).NotEmpty()
            .WithState(model => ResultCode.PostCategory_InvalidCreatePostCategoryRequest)
            .FollowSchema(entitySchema, pcLocalizationType, nameof(PostCategoryLocalizationEntity.Title))
            .WithState(model => ResultCode.PostCategory_InvalidCreatePostCategoryRequest);

            RuleFor(model => model.Description)
            .FollowSchema(entitySchema, pcLocalizationType, nameof(PostCategoryLocalizationEntity.Description))
            .WithState(model => ResultCode.PostCategory_InvalidCreatePostCategoryRequest);
        }