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)); }
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)); }