This article will show you how to combine type based validation rules with other validations, how to compose them and apply them in different scenarios, adding/removing validations when applied on concrete instances, combining objects of different types and implementing one validation strategy on all.
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
namespace ComposableServices.ConcreteServices
{
public class LegitimationService : ServiceSimple
{
public enum eLegitimationType
{
Unknowm = 0,
Passport = 1,
IDCard = 2,
Drivinglicence = 3
}
public LegitimationService() { }
[RegularExpression(@"^\d{10}$", ErrorMessage="Legitimation number must a number of ten")]
[Required(ErrorMessage = "Legitimation is required")]
public string LegitimationNumber { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Nationality is mandatory")]
public string Nationality { get; set; }
public new static Func<ServiceBase, bool> checkType()
{
return (x =>
{
if (x is LegitimationService) return true;
return false;
});
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.