You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/NzbDrone.Core/Validation/NzbDroneValidationExtension...

41 lines
1.1 KiB

using System.Collections.Generic;
using System.Linq;
using FluentValidation;
using FluentValidation.Results;
namespace NzbDrone.Core.Validation
{
public static class NzbDroneValidationExtensions
{
public static NzbDroneValidationResult Filter(this NzbDroneValidationResult result, params string[] fields)
{
var failures = result.Failures.Where(v => fields.Contains(v.PropertyName)).ToArray();
return new NzbDroneValidationResult(failures);
}
public static void ThrowOnError(this NzbDroneValidationResult result)
{
if (!result.IsValid)
{
throw new ValidationException(result.Errors);
}
}
public static bool HasErrors(this List<ValidationFailure> list)
{
foreach (var item in list)
{
if (item is NzbDroneValidationFailure { IsWarning: true })
{
continue;
}
return true;
}
return false;
}
}
}