J'ai trouvé que le hack suivant fonctionne :
J'ai ajouté une deuxième entrée cachée qui contient la date saisie au format de Date.getTime()
:
<input type="hidden" data-bind="value: myDateValue.getTime()" ... />
(J'utilise Kendo MVVM, mais je suis sûr que d'autres bibliothèques MVVM peuvent gérer la même approche).
Ensuite, pour la contrainte, côté serveur (ASP.NET MVC dans mon cas), je génère l'heure Unix pour les valeurs minimale et maximale :
@Range(min="<%= (dateTime1 - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds %>",
max="<%= (dateTime2 - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds %>")
EDIT
Nécessité d'utiliser .TotalMilliseconds
- et même si c'est le cas, il y a des divergences inexpliquées.