[ASP.NET] Datum 2-way databinden

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb een webform, met daarop een FormView waarin een tweetal datumvelden twee kanten uit databinded worden. Dus voor zowel weergeven, als voor updaten en inserten van data, wordt databinding gebruikt. Heel simpel eigenlijk:
C#:
1
2
3
4
<asp:TextBox
   ID="edtDetailContractStart" runat="server" CssClass="text"
   Columns="12" Text='<%# Bind("contractStart", "{0:d}") %>' TabIndex="9">
</asp:TextBox>

Nu zit ik met een klein dingetje hierbij. De locale van de webapp is "NL-nl" dus hij geeft de datum als "d-M-yyyy" weer, als ik me niet vergis. Dat ik prima, maar ik wil eigenlijk zelf meer controle over hoe de datum ingevoerd kan worden. Hij accepteert wel heel veel, maar niet genoeg:
  • Goed: 31-12-2005
  • Goed: 31/12/2005
  • Goed: 31.12.2005
  • Goed: 2005-12-31
  • Fout: 31:12:2005
  • Fout: 20051231
  • Fout: 31 12 2005
Volgens mij wordt onder de motorkap DateTime.Parse of iets dergelijks gebruikt. Maar zou het mogelijk zijn om daar op in te haken en de volgens het framework foute datums weer goed te breien?

日本!🎌


  • RedBeard
  • Registratie: April 2006
  • Niet online
Waarom gebruik je dan geen validation controls. (bijvoorbeeld RegularExpressionValidator)
op die manier kan je de input controleren.

Of begrijp ik je vraag verkeerd?

I'm not anti-social, I'm just not user friendly


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Topicstarter
Ik wil het niet (alleen) controleren, maar juist corrigeren als een verkeerd formaat is ingevuld. Onder motorkap gebeurt dat al tot op zeker hoogte, maar niet grondig genoeg.

Een regex validator zou denk ik niet zo netjes zijn, te meer omdat je dan compatibility met de current culture kan verliezen, wanneer die bijvoorbeeld verandert van NL-nl naar US-en...

日本!🎌


  • RedBeard
  • Registratie: April 2006
  • Niet online
En met een custom validator?

dan kun je cultuur afhankelijk controleren en eventueel ook modificeren

Voor zo ver ik weet (maar ik weet niet alles natuurlijk ;) ) is dit enige mogelijkheid voor het controleren van input welke gedatabind is.

I'm not anti-social, I'm just not user friendly


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 22-02 15:12

Swerfer

Hmm...

Het corrigeren houd een keer op. Wat als een gebruiker 2005121 invult?
Is dat dan 1-12-2005 of 21-1-2005? En zo zijn er nog meer voorbeelden te geven.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com