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

  • MatheusDosGames

    MatheusDosGa

    28 Aralık 2011
  • nigahiga

    nigahiga

    21 Temmuz 2006
  • The Platform

    The Platform

    14 HAZİRAN 2006