SORU
4 Mart 2011, Cuma


MVC 3 jQuery Doğrulama/sayı küreselleşen/ondalık alan

Ne zaman küreselleşme kullanarak kültür="da-DK" Web.yapılandırma dosyası, DV doğrulama çalışmıyor.

Danimarka'da, ürün bedelini biz yazarken BİZE yol 19.95 yerine gösterimde 19,95 kullanıyoruz, benim çözemediğim bir sorun verdik.

VS2010, yeni bir MVC 3 projesi, bir homeController ekledi, Ürün sınıfı ve basit bir standart görüntülemek ve düzenlemek başladım ve hata var zaten.

Ürün Sınıfı:

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);
    }
}

Dizin Görünümü:

@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>
}

Sonuç:

Ne yazık ki burada bir resim gönderin lütfen bu bağlantı sonucu görmek için takip edemiyorum: http://www.designvision.dk/temp/mvc3_razor_validation_error.gif

Web sitesini çalışırken, alan doğru kültür tanımı olan 19,00 - ayarlanır - ama kurtarmaya çalışırken, doğrulama başarısız olur.

Yardım lütfen

CEVAP
5 Mart 2011, CUMARTESİ


Microsoft'tan jQuery Globalization plugin deneyebilirsiniz:

<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/jquery.glob.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/globinfo/jquery.glob.da-dk.js")" type="text/javascript"></script>
<script type="text/javascript">
    $.validator.methods.number = function (value, element) {
        return !isNaN($.parseFloat(value));
    }

    $(function () {
        $.preferCulture('da-DK');
    });
</script>

Eklenti olarak değiştirildi ve taşındı Globalize (Mar 2012) kullanmalısınız

<script src="@Url.Content("~/Scripts/jquery.globalize/globalize.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.globalize/cultures/globalize.culture.da-DK.js")" type="text/javascript"></script>
<script type="text/javascript">
    $.validator.methods.number = function (value, element) {
        return !isNaN(Globalize.parseFloat(value));
    }

    $(document).ready(function () {
        Globalize.culture('da-DK');
    });
</script>

Scott Hanselman blog post Bu konuda daha fazla


Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011