Jika ingin membuat tag validasi yang baru, bisa membuat kelas seperti contoh di bawah
[code language=”csharp”]
public class CheckDayAttribute : ValidationAttribute
{
public CheckDayAttribute(Day validDay, params string[] propertyNames)
{
this.ValidDay = validDay;
}
public Day ValidDay { get; private set; }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
DateTime date = DateTime.Parse((string)value);
if (date == null)
{
return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
}
else
{
int dayOfWeek = (int)date.DayOfWeek;
if (dayOfWeek != (int)this.ValidDay)
{
return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
}
}
}
return null;
}
}
[/code]
Contoh penggunaan
[code language=”csharp”]
[DisplayName("Tanggal Mulai")]
[CheckDay(Day.MONDAY)]
public string StartDate { get; set; }
[/code]