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

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006