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

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010
  • TROPFEST

    TROPFEST

    27 Mart 2007