Exemplo n.º 1
0
 protected override void DataValidationChanged(AvaloniaProperty property, IValidationStatus status)
 {
     if (property == TextProperty)
     {
         UpdateValidationState(status);
     }
 }
 /// <summary>
 /// Creates a new status with the updated information.
 /// </summary>
 /// <param name="status">The updated status information.</param>
 /// <returns>The new validation status.</returns>
 public ObjectValidationStatus UpdateValidationStatus(IValidationStatus status)
 {
     var newStatus = new Dictionary<Type, IValidationStatus>(currentValidationStatus ??
                                                         new Dictionary<Type, IValidationStatus>());
     newStatus[status.GetType()] = status;
     return new ObjectValidationStatus(newStatus);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a new status with the updated information.
        /// </summary>
        /// <param name="status">The updated status information.</param>
        /// <returns>The new validation status.</returns>
        public ObjectValidationStatus UpdateValidationStatus(IValidationStatus status)
        {
            var newStatus = new Dictionary <Type, IValidationStatus>(currentValidationStatus ??
                                                                     new Dictionary <Type, IValidationStatus>());

            newStatus[status.GetType()] = status;
            return(new ObjectValidationStatus(newStatus));
        }
Exemplo n.º 4
0
 protected virtual void SendValidationStatus(IValidationStatus status)
 {
     //Even if elements only bound to sub-values, send validation changes along so they will be surfaced to the UI level.
     if (_subject != null)
     {
         _subject.OnNext(status);
     }
     else
     {
         Next?.SendValidationStatus(status);
     }
 }
Exemplo n.º 5
0
        public void Handle(IValidationStatus message)
        {
            if (!Convert.ToInt32(TestingRequestSagaStates.ValidationStarted).Equals(Data.CurrentState) &&
                !Convert.ToInt32(TestingRequestSagaStates.ValidationInProgress).Equals(Data.CurrentState))
            {
                return;
            }

            Data.CurrentState       = Convert.ToInt32(TestingRequestSagaStates.ValidationInProgress);
            Data.ValidationProgress = message.Progress;

            NotifyOfSagaStateChangeProgress((TestingRequestSagaStates)Data.CurrentState, Data.ValidationProgress);
        }
Exemplo n.º 6
0
        public void Setting_Non_Validating_Does_Not_Trigger_Validation()
        {
            var inpcAccessorPlugin = new InpcPropertyAccessorPlugin();
            var validatorPlugin    = new IndeiValidationPlugin();
            var data                 = new Data();
            var accessor             = inpcAccessorPlugin.Start(new WeakReference(data), nameof(data.NonValidated), _ => { });
            IValidationStatus status = null;
            var validator            = validatorPlugin.Start(new WeakReference(data), nameof(data.NonValidated), accessor, s => status = s);

            validator.SetValue(5, BindingPriority.LocalValue);

            Assert.Null(status);
        }
Exemplo n.º 7
0
        public void Setting_Validating_Property_To_Invalid_Value_Returns_Failed_ValidationStatus()
        {
            var inpcAccessorPlugin = new InpcPropertyAccessorPlugin();
            var validatorPlugin    = new IndeiValidationPlugin();
            var data                 = new Data();
            var accessor             = inpcAccessorPlugin.Start(new WeakReference(data), nameof(data.MustBePositive), _ => { });
            IValidationStatus status = null;
            var validator            = validatorPlugin.Start(new WeakReference(data), nameof(data.MustBePositive), accessor, s => status = s);

            validator.SetValue(-5, BindingPriority.LocalValue);

            Assert.False(status.IsValid);
        }
Exemplo n.º 8
0
        public IValidationStatus Validate <T>(T instance)
        {
            var validator = FindValidator <T>();

            if (validator == null)
            {
                var errorMessage = string.Format("Properly validator is not registered for type {0}", typeof(T).Name);
                throw new ProperlyValidatorIsNotRegisteredException(errorMessage);
            }

            ValidationResult  result           = validator.Validate(instance);
            IValidationStatus validationStatus = BuildValidationStatus <T>(result);

            return(validationStatus);
        }
Exemplo n.º 9
0
 /// <summary>
 /// Called whenever a priority level validation state changes.
 /// </summary>
 /// <param name="priorityLevel">The priority level of the changed entry.</param>
 /// <param name="validationStatus">The validation status.</param>
 public void LevelValidation(PriorityLevel priorityLevel, IValidationStatus validationStatus)
 {
     _owner.DataValidationChanged(this, validationStatus);
 }
Exemplo n.º 10
0
 public ValidationException(string message, IValidationStatus validationStatus)
     : base(message)
 {
     ValidationValidationStatus = validationStatus;
 }
Exemplo n.º 11
0
 /// <summary>
 /// Updates the validation status of the current object.
 /// </summary>
 /// <param name="status">The new validation status.</param>
 protected void UpdateValidationState(IValidationStatus status)
 {
     ValidationStatus = ValidationStatus.UpdateValidationStatus(status);
 }
Exemplo n.º 12
0
 /// <summary>
 /// Called when the validation state on a tracked property is changed.
 /// </summary>
 /// <param name="property">The property whose validation state changed.</param>
 /// <param name="status">The new validation state.</param>
 protected virtual void DataValidationChanged(AvaloniaProperty property, IValidationStatus status)
 {
 }
Exemplo n.º 13
0
        /// <inheritdoc/>
        void IPriorityValueOwner.DataValidationChanged(PriorityValue sender, IValidationStatus status)
        {
            var property = sender.Property;

            DataValidationChanged(property, status);
        }
Exemplo n.º 14
0
 /// <summary>
 /// Invoked when an entry in <see cref="Bindings"/> reports validation status.
 /// </summary>
 /// <param name="entry">The entry that completed.</param>
 /// <param name="validationStatus">The validation status.</param>
 public void Validation(PriorityBindingEntry entry, IValidationStatus validationStatus)
 {
     _owner.LevelValidation(this, validationStatus);
 }
Exemplo n.º 15
0
 /// <summary>
 /// Sends the validation status to the callback specified in construction.
 /// </summary>
 /// <param name="status">The validation status.</param>
 protected void SendValidationCallback(IValidationStatus status)
 {
     _callback?.Invoke(status);
 }
Exemplo n.º 16
0
 protected override void DataValidationChanged(AvaloniaProperty property, IValidationStatus status)
 {
     if (property == ValidationTestProperty)
     {
         UpdateValidationState(status);
     }
 }
Exemplo n.º 17
0
 /// <inheritdoc/>
 protected override void DataValidationChanged(AvaloniaProperty property, IValidationStatus status)
 {
     base.DataValidationChanged(property, status);
     ValidationStatus.UpdateValidationStatus(status);
 }
Exemplo n.º 18
0
 public ValidationException(string message, IValidationStatus validationStatus)
     : base(message)
 {
     ValidationValidationStatus = validationStatus;
 }
Exemplo n.º 19
0
 /// <summary>
 /// Invoked when an entry in <see cref="Bindings"/> reports validation status.
 /// </summary>
 /// <param name="entry">The entry that completed.</param>
 /// <param name="validationStatus">The validation status.</param>
 public void Validation(PriorityBindingEntry entry, IValidationStatus validationStatus)
 {
     _owner.LevelValidation(this, validationStatus);
 }
Exemplo n.º 20
0
 /// <summary>
 /// Called whenever a priority level validation state changes.
 /// </summary>
 /// <param name="priorityLevel">The priority level of the changed entry.</param>
 /// <param name="validationStatus">The validation status.</param>
 public void LevelValidation(PriorityLevel priorityLevel, IValidationStatus validationStatus)
 {
     _owner.DataValidationChanged(this, validationStatus);
 }
 /// <summary>
 /// Sends the validation status to the callback specified in construction.
 /// </summary>
 /// <param name="status">The validation status.</param>
 protected void SendValidationCallback(IValidationStatus status)
 {
     _callback?.Invoke(status);
 }