This is the simplified model :
public class Person {
public int Id;
public string Name;
}
public class Task {
public int Id;
public int PersonId;
public DateTime StartDate;
[GreaterThan("StartDate")]
public DateTime EndDate;
}
To validate the EndDate >= StartDate, i write general GreaterThanAttribute. The server side is trivial, but i have problem on client side validation.
My GreaterThanAttribute got the other property (ex: “StartDate”) from constructor, then i pass this other property name to javascript as validation rule. But it won’t work, because the JS will not found this element, because MVC will render & named it as “Task.StartDate”, not “StartDate”.
My question is, how i can get the prefix which will be used by the controller to render my model inside IClientValidatable.GetClientValidationRules() ?
Thanks
Here’s how you could implement it:
and on the client side: