private void ValidatePassword()

in src/Covi/Features/CreateProfile/CreateProfileViewModel.cs [145:175]


        private void ValidatePassword()
        {
            if (string.IsNullOrEmpty(PasswordValue))
            {
                MinLengthRuleIsSatisfied =
                    OneUpperCaseRuleIsSatisafied =
                    OneLowerCaseRuleIsSatisafied =
                    OneSpecialSymbolRuleIsSatisafied =
                    PasswordHasAnError = default;

                ErrorText = string.Empty;
                return;
            }

            var val1 = _minLengthRule.Validate(PasswordValue);
            var val2 = _oneUpperCaseRule.Validate(PasswordValue);
            var val3 = _oneLowerCaseRule.Validate(PasswordValue);
            var val4 = _oneSpecialSymbolRule.Validate(PasswordValue);

            var isValid = val1.IsValid &&
                val2.IsValid &&
                val3.IsValid &&
                val4.IsValid;

            MinLengthRuleIsSatisfied = val1.IsValid;
            OneUpperCaseRuleIsSatisafied = val2.IsValid;
            OneLowerCaseRuleIsSatisafied = val3.IsValid;
            OneSpecialSymbolRuleIsSatisafied = val4.IsValid;

            PasswordHasAnError = !isValid;
        }