using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; using Abp.Logging; namespace Abp.Runtime.Validation { /// /// This exception type is used to throws validation exceptions. /// [Serializable] public class AbpValidationException : AbpException, IHasLogSeverity { /// /// Detailed list of validation errors for this exception. /// public IList ValidationErrors { get; set; } /// /// Exception severity. /// Default: Warn. /// public LogSeverity Severity { get; set; } /// /// Constructor. /// public AbpValidationException() { ValidationErrors = new List(); Severity = LogSeverity.Warn; } /// /// Constructor for serializing. /// public AbpValidationException(SerializationInfo serializationInfo, StreamingContext context) : base(serializationInfo, context) { ValidationErrors = new List(); Severity = LogSeverity.Warn; } /// /// Constructor. /// /// Exception message public AbpValidationException(string message) : base(message) { ValidationErrors = new List(); Severity = LogSeverity.Warn; } /// /// Constructor. /// /// Exception message /// Validation errors public AbpValidationException(string message, IList validationErrors) : base(message) { ValidationErrors = validationErrors; Severity = LogSeverity.Warn; } /// /// Constructor. /// /// Exception message /// Inner exception public AbpValidationException(string message, Exception innerException) : base(message, innerException) { ValidationErrors = new List(); Severity = LogSeverity.Warn; } } }