コード例 #1
0
        public async Task <SlugValidationResult> ValidateUsername(Func <SlugValidationModel, bool> tryValidateModel, string?username)
        {
            if (username == null || !tryValidateModel(new SlugValidationModel(username)))
            {
                return(SlugValidationResult.Invalid(username ?? string.Empty));
            }

            var exists = await _dbContext.Users
                         .AnyAsync(x => x.NormalizedUserName == username.ToUpperInvariant());

            return(exists
                ? SlugValidationResult.Unavailable(username)
                : SlugValidationResult.Success(username));
        }
コード例 #2
0
        public async Task <SlugValidationResult> Validate(Func <SlugValidationModel, bool> tryValidateModel, string?slug, Guid userId)
        {
            if (slug == null || !tryValidateModel(new SlugValidationModel(slug)))
            {
                return(SlugValidationResult.Invalid(slug ?? string.Empty));
            }

            var exists = await _dbContext.Builds
                         .AnyAsync(x => x.NormalizedSlug == slug.ToUpperInvariant() &&
                                   x.OwnerId == userId);

            return(exists
                ? SlugValidationResult.Unavailable(slug)
                : SlugValidationResult.Success(slug));
        }