summaryrefslogtreecommitdiff
path: root/Validators/NameAttribute.cs
blob: 39f02640478329612f71d87125d89428512ecd08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.ComponentModel.DataAnnotations;
using LibraryAPI.Models;

namespace LibraryAPI.Validators {
    public class NameAttribute : ValidationAttribute {
        public string[] valid_names = { "regular", "librarian" };
		public string GetErrorMessage() {
            return "Group name must be \"regular\" or \"librarian\"";
        }

		protected override ValidationResult? IsValid(object? value, ValidationContext validationContext) {
	    	if(Array.Exists(valid_names, s => s == value.ToString()))
			return ValidationResult.Success;

	    	return new ValidationResult(GetErrorMessage());
		}
    }
}