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