using System.Collections.Generic;
public class TokenUpdateRequestDto
public IEnumerable<string> CstTokenUniqueReferences { get; set; }
public class TokenValidator : AbstractValidator<TokenUpdateRequestDto>
RuleFor(x => x.CstTokenUniqueReferences)
.Must(x => x != null && x.Count() == 1).WithMessage("It should have one and only like baby");
public static void Main()
var fail1 = new TokenUpdateRequestDto();
var pass1 = new TokenUpdateRequestDto()
CstTokenUniqueReferences = new List<string>() {"token1"}
var fail2 = new TokenUpdateRequestDto(){
CstTokenUniqueReferences = new List<string>() {"token1", "token2"}
var validator = new TokenValidator();
PrintValidationResult(validator.Validate(fail1),"fail1:");
PrintValidationResult(validator.Validate(pass1),"pass1:");
PrintValidationResult(validator.Validate(fail2),"pass2:");
public static void PrintValidationResult(FluentValidation.Results.ValidationResult result,string objectName)
Console.WriteLine(objectName);
Console.WriteLine("✅ Validation successful");
foreach (var error in result.Errors)
Console.WriteLine("❌ " + error.ErrorMessage);