Vra

Ek het 'n datetime -veld in my model wat volgens my soos hierdie in 'n vorm getoon word:

<div class="editor-field">
    @Html.EditorFor(model => model.Age)
    @Html.ValidationMessageFor(model => model.Age)
</div>

As 'n nuwe model geskep en in my databasis ingevoeg word, ken ek dit 'n waarde van 09/11/1990 15:36:22. As ek hierdie model probeer wysig met behulp van my siening en nie die waarde daarvan verander nie Age Vir my model word die model bekragtig en word enige veranderinge aan ander velde aanvaar en gestoor. Maar as ek die Age veld na 07/27/2010 15:36:22 Ek kry 'n valideringsfout " The value '07/27/2010 15:36:22' is not valid for Age. Maar die datum 09/12/2010 15:36:22 word suksesvol bekragtig. Enige rede waarom dit gebeur? In die ontfouter is die waarde wat vir ongeldige datums teruggestuur is 01/01/0001.

EDIT: Ek dink dit het te make met die kultuur vir jQuery-validate en my stelsel, aangesien die bekragtiging van die kliënt se validering op enige datum wat in DD/mm/jjjjieformaat is, misluk, terwyl die validering van die bediener se validering op enige datum wat in MM is, misluk /Dd/jjjjieformaat.

Was dit nuttig?

Oplossing

As ek aanvaar dat u die model aan die kliëntkant wil laat werk, sal ek u ASP .NET -globaliseringsinstellings verander om die stelsel te dwing om die globalisering te gebruik wat u wil hê. Dit is slegs 'n geldige oplossing as u van kliënte verwag om u stelsel te gebruik wat een konsekwente datumtydformaat gebruik.

Die probleem wat u teëgekom het (dink ek) is dat sommige blaaiers nie konsekwent is met die globalisering dat hulle kliëntkant gebruik en die globalisering wat hulle aan die breë wêreld voorlê nie.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top