Comment valider une date est dans le format AAAA-MM-JJ en utilisant le validateur kendo?

j'ai un capteur de date kendo qui est construit comme suit:

$("#date").kendoDatePicker({
    format: "yyyy-MM-dd",
    footer: " ",
    parseFormats: ["MM/dd/yyyy", "dd/MM/yyyy"]
  });

j'aimerais utiliser le validateur kendo pour valider que la date contient une date valide dans le format AAAA-MM-JJ. J'ai essayé ceci:

<input type="date" id="date" placeholder="yyyy-mm-dd" name="date" required data-required-msg="Please enter a date." data-date-msg="Please enter a valid date."/>

bien que le validateur valide correctement la condition" requis", il ne semble pas valider que la date soit dans le bon format ou soit une date valide. Par exemple, "abc" passe comme une date valide que ne 2013-18-85. Comment puis-je utiliser le validateur pour assurer une date valide dans le format correct?

3
demandé sur OnaBai 2013-01-02 22:38:06

2 réponses

Si vous voulez validate un date vous devez définir une règle (pas de règle).

Essayer de définir:

$("#date").kendoValidator({
    rules: {
        date: function (input) {
            var d = kendo.parseDate(input.val(), "yyyy-MM-dd");
            return d instanceof Date;
        }
    }
});

NOTE: rappelez-vous que KendoUI utilise d'abord l'option parseFormats pour analyser la date, puis la convertit en l'option format et enfin exécute les validations. C'est pourquoi j'utilise dans la validation yyyy-MM-dd et non ["MM/dd/yyyy", "dd/MM/yyyy"] .

13
répondu OnaBai 2013-01-03 00:20:35

la réponse est:

<script src="@Url.Content("~/Scripts/kendo/2015.2.805/kendo.aspnetmvc.min.js")"></script>
<script type="text/javascript">
    kendo.ui.validator.rules.mvcdate = function (input) {
        //use the custom date format here
        //kendo.parseDate - http://docs.telerik.com/kendo-ui/api/javascript/kendo#methods-parseDate
        return !input.is("[data-val-date]") || input.val() === "" || kendo.parseDate(input.val(), "@(MvcApplication.AppCulture.DateTimeFormat.ShortDatePattern)") !== null;
    };
</script>

voici plus d'informations: http://docs.telerik.com/kendo-ui/aspnet-mvc/validation

Cheers

2
répondu ADM-IT 2015-08-19 21:38:28