Lorsque vous utilisez la globalisation culture="da-DK" dans le fichier Web.config, la validation jQuery ne fonctionne pas.
Au Danemark, nous utilisons la notation 19,95 au lieu de la notation américaine 19.95 lorsque nous écrivons le prix d'un produit, et cela m'a posé un problème que je n'arrive pas à résoudre.
J'ai démarré VS2010, un nouveau projet MVC 3, ajouté un homeController, une classe de produit et une simple vue d'édition standard et l'erreur est déjà présente.
Classe de produit :
public class Product
{
public string name { get; set; }
public string itemNo { get; set; }
public decimal price { get; set; }
}
HomeController :
public class homeController : Controller
{
public ActionResult Index()
{
var product1 = new Product { name = "Testproduct", itemNo = "PRD-151541", price = 19 };
return View(product1);
}
}
Vue de l'index :
@model WebUI.DomainModel.Product
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Product</legend>
<div class="editor-label">
@Html.LabelFor(model => model.name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.name)
@Html.ValidationMessageFor(model => model.name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.itemNo)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.itemNo)
@Html.ValidationMessageFor(model => model.itemNo)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.price)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.price)
@Html.ValidationMessageFor(model => model.price)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
Le résultat :
Malheureusement, je ne peux pas soumettre une image ici - alors suivez ce lien pour voir le résultat : http://www.designvision.dk/temp/mvc3_razor_validation_error.gif
Ainsi, lorsque vous exécutez le site Web, le champ est défini sur 19,00 - ce qui est la définition correcte de la culture - mais lorsque vous essayez d'enregistrer, la validation échoue.
S'il vous plaît, aidez-moi...