Example #1
0
 private void Password_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName == nameof(Password))
     {
         if (sender != Password)
         {
             Password.RunValidation();
         }
         if (sender != ConfirmPassword)
         {
             ConfirmPassword.RunValidation();
         }
     }
 }
Example #2
0
        public PasswordUpdateDialogViewModel(IValidate <SecureString> originalValidator, IValidate <SecureString> confirmValidator)
        {
            SuccessEnableCallback = defaultEnable =>
                                    (Password.HasErrors || ConfirmPassword.HasErrors) == false;

            Password.Validator = originalValidator;
            if (confirmValidator is NullValidator <SecureString> )
            {
                confirmValidator = new CallbackValidator <SecureString>(o =>
                                                                        Password.Password.Length != 0 && Perform.SecureStringCompare(Password.Password, ConfirmPassword.Password) ?
                                                                        new OperationResult() :
                                                                        new OperationResult(new[] { new ValidationFailedException("Both fields must match.") })
                                                                        );
            }
            ConfirmPassword.Validator = confirmValidator;

            Password.PropertyChanged        += Password_PropertyChanged;
            ConfirmPassword.PropertyChanged += Password_PropertyChanged;

            Password.RunValidation();
            ConfirmPassword.RunValidation();
        }