Ich möchte eine benutzerdefinierte Validierung für ein Datetime-Feld erstellen.Benutzerdefinierte Validierung Datum C#
Es ist meine Klasse Buchung, mit dem Feld "Datum", auf dem ich die Validierung setzen wollen:
public class Booking
{
public int Id { get; set; }
public int Restochoisi { get; set; }
public int Nbpeople { get; set; }
[CustomValidator]
public DateTime Date { get; set; }
public int Orga { get; set; }
}
Die Klasse CustomValidator.cs:
[AttributeUsage(AttributeTargets.Property |
AttributeTargets.Field, AllowMultiple = false)]
public class CustomValidator : ValidationAttribute
{
protected override bool IsValid(object value)
{
if ((DateTime)value < DateTime.Now)
return false;
return true;
}
}
und die BookingController:
[HttpPost]
public ActionResult Index(int restochoisi, int nbpeople, DateTime start, int orga)
{
var context = new BddContexte();
var vm = new BookingViewModel()
{
Restos = new SelectList(context.Restos.AsEnumerable(), "Id", "Nom"),
Utilisateurs = new SelectList(context.Utilisateurs.AsEnumerable(), "Id", "Prenom")
};
//ViewBag.result = restochoisi + " " + nbpeople + " " + datepicker + " " + orga;
//dal.RestoById(restochoisi)
if (ModelState.IsValid)
{
int id = dal.CreerBooking(restochoisi, nbpeople, start, orga);
return View(vm);
}
return View(vm);
}
Aber es funktioniert nicht. Was ist falsch in meinem Gang bitte?
Was genau funktioniert nicht? erhalten Sie einen Fehler? keine Fehler? – Mederic
Ich erhalte einen Fehler in meiner Funktion "CreerBooking", wenn ich ein "falsches" Datum einstelle. –