I need to validate 2 dates: "begin date" and "end date". "Begin date" must from today to the future and "end date" must be equal or greater than "Begin date". How can I do it with Data Annotations? Is it possible?
-
Have you looked into custom validation attributes?Ant P– Ant P2015-03-02 11:31:47 +00:00Commented Mar 2, 2015 at 11:31
-
Take a look at this dotnetglobe.com/2012_01_01_archive.htmlMahesh– Mahesh2015-03-02 11:32:49 +00:00Commented Mar 2, 2015 at 11:32
-
stackoverflow.com/questions/10887824/…, stackoverflow.com/questions/18577777/…, stackoverflow.com/questions/19882296/…, stackoverflow.com/questions/7025198/…CodeCaster– CodeCaster2015-03-02 11:34:28 +00:00Commented Mar 2, 2015 at 11:34
-
I have this custom validation attribute: public class MyDate1Attribute : ValidationAttribute { public override bool IsValid(object value) { DateTime d = Convert.ToDateTime(value); return d >= DateTime.Today; } } but I get this error: Error 1 'Dominio.elm' does not implement interface member 'System.ComponentModel.DataAnnotations.IValidatableObject.Validate(System.ComponentModel.DataAnnotations.ValidationContext)' C:\Users\baptista_l1\Documents\visual studio 2012\Projects\ELM2\Dominio\elm.csLuís Baptista– Luís Baptista2015-03-02 11:35:20 +00:00Commented Mar 2, 2015 at 11:35
Add a comment
|
1 Answer
You can do this with DataAnnotations as mentioned in bellow links:
- Greater Than or Equal To Today Date validation annotation in MVC3
- MVC Validation Lower/Higher than other value
- mvc4 data annotation compare two dates
- MVC custom validation: compare two dates
But, as an advice, solve this via Javascript libraries that are more easy than DataAnnotations like Jquery Input Mask
1 Comment
Guillaume
Client-side Validation (like Jquery input Mask) is great, but always check server-side too .. ( stackoverflow.com/a/15855799/130420 )