コード例 #1
0
        public ActionResult SaveUserName(ChangeUserNameFormViewModel userNameForm)
        {
            if (_myPagesViewModelService.IsValidUserNameForm(_modelState, userNameForm))
            {
                _myPagesViewModelService.SaveUserName(userNameForm.UserName);
                return(RedirectToAction(nameof(Index), new { CurrentTab = MyPagesTabConstants.LoginInfo }));
            }

            var model = _myPagesViewModelBuilder.Build();

            model.CurrentTab = MyPagesTabConstants.LoginInfo;
            return(View(nameof(Index), model));
        }
コード例 #2
0
        public bool IsValidUserNameForm(ModelState modelState, ChangeUserNameFormViewModel userNameForm)
        {
            var prefix        = nameof(userNameForm);
            var userNameField = $"{prefix}.{nameof(userNameForm.UserName)}";

            var validationRules = new List <ValidationRuleItem <ChangeUserNameFormViewModel> >()
            {
                new ValidationRuleItem <ChangeUserNameFormViewModel> {
                    Field = userNameField, Rule = model => !string.IsNullOrEmpty(model.UserName), ErrorMessage = "validation.required".AsWebSiteString()
                },
                new ValidationRuleItem <ChangeUserNameFormViewModel> {
                    Field = userNameField, Rule = model => _userValidationService.IsValidEmail(model.UserName), ErrorMessage = "validation.email".AsWebSiteString()
                },
                new ValidationRuleItem <ChangeUserNameFormViewModel> {
                    Field = userNameField, Rule = model => _userValidationService.IsValidUserName(model.UserName), ErrorMessage = "validation.invalidusername".AsWebSiteString()
                }
            };

            return(userNameForm.IsValid(validationRules, modelState));
        }