Provo ad utilizzare il plugin di globalizzazione jQuery per correggere il problema della virgola con la convalida del client non ostruente di jquery. Tuttavia ho provato molte soluzioni e non c'è una buona soluzione per risolvere questo problema. Sono su un computer di localizzazione non inglese e questo è importante che i miei clienti inseriscano un valore decimale come "123,66" e non "123,66". La convalida di ASP.NET mi dice che il prezzo deve essere un numero! meh? sei serio ? lolImpossibile far funzionare la globalizzazione jquery
Mi viene visualizzato questo errore javascript quando provo a eseguire la correzione.
$.global is undefined
Ecco il mio codice.
Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/globalize.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/cultures/globalize.cultures.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.form.js")"type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/glob.fix.js")" type="text/javascript"></script>
</head>
<body>
@RenderBody()
</body>
</html>
glob.fix.js
$.validator.methods.range = function (value, element, param) {
var globalizedValue = value.replace(",", ".");
return this.optional(element) || (globalizedValue >= param[0] && globalizedValue <= param[1]);
}
$.validator.methods.number = function (value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
}
Non riesco a capire .. dovrebbe funzionare da quando ho aggiunto ~/Scripts/globalize.js
.
Qualche idea? oppure potresti avere una soluzione migliore per far funzionare la validazione del client e consentirmi di inserire la virgola come valori decimali?
Grazie per il codice di validazione dell'intervallo! –