32 messaggi dal 20 gennaio 2004
I controlli che si hanno vb.net come isDate o isNumber, esistono anche in C# ?
In maniera nativa sono solo funzioni VB.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
32 messaggi dal 20 gennaio 2004
Ma allora nn sai se c'è in giro del codice già fatto ?
public bool IsDate(object inputValue)
bool isValid;
try {
DateTime myDT = DateTime.Parse(inputValue);
isValid = true;
}
catch (FormatException e) {
isValid = false;
}
finally {
return isValid;
}
}


Una cosa simile può essere fatta anche per i numeri.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
Questo potrebbe essere un interessante spunto di discussione: ho letto su diversi libri (Programming Asp.Net di Dino Esposito, tanto per citarne uno) che le eccezioni dovrebbero essere utilizzate solo per gestire, per l'appunto, casi eccezionali non prevedibili da codice, visto che hanno un effetto estremamente penalizzande sulle prestazioni.

Pomeriggio prometto di armarmi di Reflector e vedere come sono implementate isDate e isNumber su Microsoft.VisualBasic.

Nel frattempo il consiglio che mi sento di dare (anche se poi il codice diviene lievemente più complicato di quello che ha proposto rickyvr), è di utilizzare le regular expressions. Senza stare a sbattersi più di tanto nel progettarle, si possono ricopiare pari pari quelle utilizzate da CompareValidator per il DataTypeCheck: si trovano su
C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322\WebUIValidation.js
nella definizione della funzione ValidatorConvert

Ciauz
Certo, le regular expression sono un'altra valida alternativa.

Se vogliamo dirla tutta, c'è anche il metodo Double.IsNaN(). Butto lì lo spunto, chi vuole può approfondire.

Grazie Cradle, come al solito, sei molto preciso e accorto...

Ciao, Ricky.
Modificato da rickyvr il 27 settembre 2004 15.10 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
Grazie!  (ehi, mica era una critica alla tua risposta, eh!!)

Come promesso cono andato a vedere cosa succede nei meandri di Microsoft.VisualBasic e ho scoperto che...
...usano un blocco try-catch.

E meno male che poi vengono a dirci di fare il contrario!
Il mio era un sincero ringraziamento...

Sono contento quando si può fare maggiore chiarezza su certi argomenti, così imparo qualcosa di nuovo anche io.

Bisogna sapere ascoltare cosa hanno da dire gli altri, di imparare non si finisce mai... Sono un fermo sostenitore del brain storming!

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.