Personalizzato formato data di convalida con datepicker di jQuery (non può sbarazzarsi di NOI, data di convalida)

Ci sono quasi.
Ho creato localizzata datepicker di jQuery, aggiunto di formato personalizzato di convalida, ma non può sbarazzarsi di (di default?) NOI formato data di convalida.

Sto rendering mia data di campo come questo:

...
@Html.EditorFor(m => m.JobDate)
@Html.ValidationMessageFor(m => m.JobDate)
...

e il codice HTML simile a questo:

<input class="date hasDatepicker" data-val="true" data-val-required="The JobDate field is required." id="JobDate" name="JobDate" value="28.6.2011" type="text"> 
<span class="field-validation-valid" data-valmsg-for="JobDate" data-valmsg-replace="true"></span>

Infine, ho agganciare (nel mio file javascript) un controllo datepicker di jQuery per gestire il mio campo data:

$(document).ready(function () {
   jQuery.validator.addMethod(
         "hrDateValidator",
         function(value, element) {
               try { jQuery.datepicker.parseDate( 'd.m.yy', value); return true; }
               catch(e){return false;}
            },
            "Datum nije u formatu d.m.gggg"
         );

   $('.date').datepicker({ dateFormat: "d.m.yy" });
   $.datepicker.setDefaults($.datepicker.regional["hr"]);
   $('.date').rules("remove");
   $('.date').rules("add", { hrDateValidator: true });      

});

Tuttavia, ora ho due regole di validazione attiva sul campo “data”, USA data di date personalizzato.

Io non riesco a sbarazzarsi di questa it data regola, perché non è questo il $('.date').rules("remove"); linea di rimuovere gli USA data regola?

Grazie,

Igor

OriginaleL’autore igorludi | 2011-06-28

2 risposte

  1. 13

    Si potrebbe provare a “sovrascrivere” la data di validazione del metodo invece di aggiungere una nuova:

    jQuery.validator.methods["date"] = function (value, element) { ... } 
    Grande, funziona.
    Tuttavia, mi chiedo ancora perché l’ .rimuovere funzionato?
    Ho appena speso più di un’ora di capire perché non analizza data correttamente anche se ho impostato un formato personalizzato di data. Grazie.

    OriginaleL’autore Tz_

  2. 3
             date: function (value, element) {
    
                try { jQuery.datepicker.parseDate('d.m.yy', value); return true; }
                catch (e) { return false; }
    
            },

    OriginaleL’autore Haddar Macdasi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *