ASP.NET MVC Custom Model Attribute Validation

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]

Chandra Oemaryadi has written 244 articles

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>