SORU
26 ŞUBAT 2011, CUMARTESİ


MVC 3 İstemci Ara Yan El ile ajax mesaj için Doğrulama

3 MVC web uygulaması oluşturma ediyorum. Varlık benim sınıf Veri ek Açıklamalar kullanın ve bir sunucuya post back yapmadan önce onobtrusive istemci tarafında doğrulama kullanmak istiyorum. Bu normal bir post yaparken gayet iyi çalışıyor. Doğrulama ve alanlar herhangi bir geçerli değilse doğrulama özeti. Ancak, ajax ile bilgi göndermek ve geri json istiyorum. Nasıl ben 'elle' doğrulamak istemci tarafında form ilk o zaman ajax benim post sunucuya geri yapabilir miyim Aşağıda benim kod sürüm özetledi.

  public class Customer
    {
        [Required(ErrorMessage = "The customer's first name is required.")]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "The customer's last name is required.")]
        public string LastName { get; set; }
    }



    <% using (Html.BeginForm()) { %>

    <%: Html.LabelFor(model => model.FirstName, "First Name")%>
    <%: Html.TextBoxFor(model => model.FirstName, new { @class = "TextBox", id = "Customer.FirstName" })%>
    <%: Html.ValidationMessageFor(model => model.FirstName, "*")%>

    <%: Html.LabelFor(model => model.LastName, "Last Name")%>
    <%: Html.TextBoxFor(model => model.LastName, new { @class = "TextBox", id = "Customer.LastName" })%>
    <%: Html.ValidationMessageFor(model => model.LastName, "*")%>

    <div id="CustomerEditSave" class="Button CustomerEditButtons" style="margin-right:40px;">
       <a href="#">Save</a>
    </div>

    <%: Html.ValidationSummary(true) %>

    <% } %>

Bu kodu denedim ama sadece ilk adını doğrular ve doğrulama özeti görüntülemiyor.

    $("#CustomerEditSave").click(function () {
        $(form).validate();
        //Ajax call here
    });

CEVAP
27 ŞUBAT 2011, Pazar


Deneyin:

//using the form as the jQuery selector (recommended)
$('form').submit(function(evt) {
    evt.preventDefault();
    var $form = $(this);
    if($form.valid()) {
        //Ajax call here
    }
});

//using the click event on the submit button
$('#buttonId').click(function(evt) {
    evt.preventDefault();
    var $form = $('form');
    if($form.valid()) {
        //Ajax call here
    }
});

Bu ajax ve MSAjax çağrıları jQuery ile çalışması gerekir. Ayrıca sizin için otomatik olarak. bu idare edecektir http://nuget.org/packages/TakeCommand.js https://github.com/webadvanced/takeCommand kullanarak deneyebilirsiniz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • iZAPPA

    iZAPPA

    16 Temmuz 2010