Création d'un attribut pour valider une collection qui est passée en

paramètre d'un endpoint

L'attribut CannotBeEmpty vérifie que la liste n'est pas nulle et que la
liste contient au moins 1 élément. L'api renvoie une erreur 400
(BadRequest) dans le cas contraire.
develop
jboinembalome 4 years ago
parent 74ca7f067b
commit 70808c2966
  1. 19
      EPAServeur/Attributes/CannotBeEmptyAttribute.cs

@ -0,0 +1,19 @@
using System;
using System.Collections;
using System.ComponentModel.DataAnnotations;
namespace EPAServeur.Attributes
{
/// <summary>
/// Specifies that a collection of a specified type must have at least one element.
/// </summary>
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
public sealed class CannotBeEmptyAttribute : RequiredAttribute
{
public override bool IsValid(object value)
{
var list = value as IEnumerable;
return list != null && list.GetEnumerator().MoveNext();
}
}
}
Loading…
Cancel
Save