/// <summary> /// Adds the field validation result. /// </summary> /// <param name="fieldValidationResult">The field validation result.</param> /// <exception cref="ArgumentNullException">The <paramref name="fieldValidationResult"/> is <c>null</c>.</exception> public void AddFieldValidationResult(IFieldValidationResult fieldValidationResult) { Argument.IsNotNull("fieldValidationResult", fieldValidationResult); lock (_fieldValidations) { _fieldValidations.Add(fieldValidationResult); UpdateLastModificationStamp(DateTime.Now); } }
/// <summary> /// Removes the field validation result. /// </summary> /// <param name="fieldValidationResult">The field validation result.</param> /// <exception cref="ArgumentNullException">The <paramref name="fieldValidationResult"/> is <c>null</c>.</exception> public void Remove(IFieldValidationResult fieldValidationResult) { Argument.IsNotNull("fieldValidationResult", fieldValidationResult); lock (_fieldValidations) { _fieldValidations.Remove(fieldValidationResult); UpdateLastModificationStamp(FastDateTime.Now); } }
/// <summary> /// Adds the field validation result. /// <para /> /// This method is great to add asynchronous validation. /// </summary> /// <param name="modelValidation">The model validation.</param> /// <param name="fieldValidationResult">The field validation result.</param> /// <param name="validate">if set to <c>true</c>, this method call will immediately force a call to validate the model.</param> public static void AddFieldValidationResult(this IModelValidation modelValidation, IFieldValidationResult fieldValidationResult, bool validate = false) { Argument.IsNotNull(() => modelValidation); Argument.IsNotNull(() => fieldValidationResult); EventHandler<ValidationEventArgs> validating = null; validating = (sender, e) => { modelValidation.Validating -= validating; e.ValidationContext.AddFieldValidationResult(fieldValidationResult); }; modelValidation.Validating += validating; if (validate) { modelValidation.Validate(true); } }
/// <summary> /// Adds the field validation result. /// </summary> /// <param name="validatable">The validatable model.</param> /// <param name="fieldValidationResult">The field validation result.</param> /// <param name="validate">if set to <c>true</c> [validate].</param> public static void AddFieldValidationResult(this IValidatable validatable, IFieldValidationResult fieldValidationResult, bool validate = false) { Argument.IsNotNull("modelValidation", validatable); Argument.IsNotNull("fieldValidationResult", fieldValidationResult); EventHandler <ValidationEventArgs> validating = null; validating = (sender, e) => { validatable.Validating -= validating; e.ValidationContext.AddFieldValidationResult(fieldValidationResult); }; validatable.Validating += validating; if (validate) { validatable.Validate(true); } }
/// <summary> /// Sets the field validation result. /// </summary> /// <param name="validationResult">The field validation result.</param> /// <exception cref="ArgumentNullException">The <paramref name="validationResult"/> is <c>null</c>.</exception> protected void SetFieldValidationResult(IFieldValidationResult validationResult) { Argument.IsNotNull("validationResult", validationResult); if (string.IsNullOrEmpty(validationResult.Message)) { return; } var previousValidations = _internalValidationContext.GetFieldValidations(validationResult.PropertyName); // First, check if the same error already exists bool alreadyExists = (from previousValidation in previousValidations where string.Compare(previousValidation.Message, validationResult.Message, StringComparison.Ordinal) == 0 select previousValidation).Any(); if (alreadyExists) { return; } _internalValidationContext.AddFieldValidationResult(validationResult); if (!IsValidating) { switch (validationResult.ValidationResultType) { case ValidationResultType.Warning: NotifyWarningsChanged(validationResult.PropertyName, true); break; case ValidationResultType.Error: NotifyErrorsChanged(validationResult.PropertyName, true); break; } } }
protected void SetFieldValidationResult(IFieldValidationResult validationResult) { throw new NotSupportedException(); }
/// <summary> /// Removes the field validation result. /// </summary> /// <param name="fieldValidationResult">The field validation result.</param> /// <exception cref="ArgumentNullException">The <paramref name="fieldValidationResult"/> is <c>null</c>.</exception> public void RemoveFieldValidationResult(IFieldValidationResult fieldValidationResult) { Argument.IsNotNull("fieldValidationResult", fieldValidationResult); lock (_fieldValidations) { _fieldValidations.Remove(fieldValidationResult); UpdateLastModificationStamp(DateTime.Now); } }
public void RemoveFieldValidationResult(IFieldValidationResult fieldValidationResult) { Remove(fieldValidationResult); }
public void AddFieldValidationResult(IFieldValidationResult fieldValidationResult) { Add(fieldValidationResult); }
/// <summary> /// Adds the field validation result. /// <para /> /// This method is great to add asynchronous validation. /// </summary> /// <param name="modelValidation">The model validation.</param> /// <param name="fieldValidationResult">The field validation result.</param> /// <param name="validate">if set to <c>true</c>, this method call will immediately force a call to validate the model.</param> public static void AddFieldValidationResult(this IModelValidation modelValidation, IFieldValidationResult fieldValidationResult, bool validate = false) { Argument.IsNotNull(() => modelValidation); Argument.IsNotNull(() => fieldValidationResult); EventHandler <ValidationEventArgs> validating = null; validating = (sender, e) => { modelValidation.Validating -= validating; e.ValidationContext.AddFieldValidationResult(fieldValidationResult); }; modelValidation.Validating += validating; if (validate) { modelValidation.Validate(true); } }