Ciao a tutti, o un campo in cui a volte viene indicato il separatore dei decimali col "." invece che con ","
Esiste un validator (o altro) che mi consente di risolvere questo problema?
Grazie!!
Ciao a tutti, o un campo in cui a volte viene indicato il separatore dei decimali col "." invece che con ","
Esiste un validator (o altro) che mi consente di risolvere questo problema?
Grazie!!
regularexpressionvalidator e scriverci dentro l'espressione regolare che fa al caso tuo: numeri positivi, negativi, separati dal punto, dalla virgola ecc.
Puoi trovare qualcosa di già pronto all'uso qui
Eh ci avevo provato![]()
![]()
ma non capisco come gestire il mio problema... ovvero impedire che venga inserito un numero col "." ma solo con "," (e una sola virgola)
Grazie
Quindi tu vorresti che il campo non accetti proprio la pressione del "."?
Se ho ben capito allora dovresti creare lato client una funzione javascript che impedisca l'inserimento di caratteri non consentiti (nel tuo caso può essere il "." ma anche tutti i caratteri alfabetici ed i segni di punteggiatura al netto, ovviamente, della ",").
Si esatto, come ho già scritto diverse volte, voglio evitare che venga inseriro il ".".
Ma anche googlando non ho ancora trovato una soluzione![]()
In un javascript puoi inserire la seguente funzione
occhio al charCode !=46 perchè, se non ricordo male, dovrebbe essere il codice ASCII del punto. Dovresti sostituirlo con la virgola.codice:function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) return false; return true; }
E' molto banale come funzione quindi puoi provvedere ad adattarla a seconda delle tue specifiche necessità.
Per maggior sicurezza tuttavia io lascerei anche la validazione via regularexpression ed inserirei anche un customvalidator che effettui una ulteriore validazione allo scatenarsi dell'evento ServerValidate.
C'è anche questo dell'AjaxControlToolkit:
http://www.asp.net/ajax/ajaxcontrolt...edTextBox.aspx
dovrebbe risultare, alla fine, così:
codice:<asp:ScriptManager ID="Smanager" runat="Server"></asp:ScriptManager> <asp:TextBox ID="tbImporto" runat="server" /> <AjaxControlToolkit:FilteredTextBoxExtender ID="ftbe" TargetControlID="tbImporto" runat="server" ValidChars="," FilterType="Numbers,Custom"> </AjaxControlToolkit:FilteredTextBoxExtender>
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Grazie mille!! Provo le vostre soluzioni!!
Ho provato a seguire i vostri suggerimenti...
l'esempio con ajax mi sembrava il più semplice ma nella mia webapplication non ho installato le ajaxtoolkit, quindi non saprei come fare
per quanto riguarda l'esempio js, nella pagina html che viene generata, il mio campo si chiama
<input name="ctl00$Main$tbPeso" type="text" value="0" id="ctl00_Main_tbPeso" class="Testo8" style="width:35px;" />
come devo modificare il codice JS per gestirlo??
codice:function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) return false; return true; }
Grazie!!
Come potrei, modificando nel codebehind il textbox, che poi nell'HTML venga generato questo?
grazie millecodice:<input name="ctl00$Main$tbPeso" type="text" value="0" id="ctl00_Main_tbPeso" class="Testo8" style="width:35px;" onkeyup="if(this.value.indexOf('.')!=-1){this.value=this.value.replace('.',',')}" onchange="if(this.value.indexOf('.')!=-1){this.value=this.value.replace('.',',')}" />