2016-06-24 20 views
-1

Wie in meiner Überschrift beschrieben, habe ich ein Problem mit der Validierung von Feldern, die in meinen Collapsed Accordion Sektionen sind. Ich habe VIELE Fragen dazu gefunden, aber keine funktioniert für mich, oder ich verstehe nicht ganz, wie alles funktioniert, also obwohl dies als eine doppelte Frage angesehen wird, ist es nicht so, wie es keiner der anderen geholfen hat.JQuery Validierung auf Bootstrap Akkordeon MVC

Ich habe 4 Sektionen:

Accordion

Also, wenn ich das der Projektname Gibt dann erstellen klicken, dass es jedoch nicht für jede der zusammengeklappten Abschnitte fehlt.

Ich habe versucht:

$('#ticketForm').validate().settings.ignore = [] 

Welche funktioniert nicht. Wenn ich auf create klicke, dann ist es so, als würde der Bildschirm ein Postback machen und alles, was ich eingegeben habe, wird entfernt und kehrt zum ersten Akkordeonabschnitt zurück.

Ich habe viele andere Skripte versucht, die keinen Sinn für mich :(dass andere gesagt Werke, aber ich entweder einen Fehler auf einem Abschnitt erhalten, dass „nicht existiert“, wie zum Beispiel:

$(document).ready(function() { 
$("#accordion").accordion({ 
autoHeight: false, 
navigation: true, 
});  

$("#ticketForm").validate({ 
rules: { 
    page_title: "required", 
    seo_url: "required", 
    AccordionField: { 
     required: true 
    } 
}, 
ignore: [], 
messages: { 
    page_title: "Please enter a page title", 
    seo_url: "Please enter a valid name" 
} 
}); 
}); 

Der Fehler, den ich bekomme, ist, dass .accordion nicht existiert - oder es tut das selbe wie ich erwähnte (Seite tut, was wie ein Postback usw. aussieht)

Ich habe dieses auch versucht, die keinen Fehler geben, aber es funktioniert nicht:

$(document).ready(function() { 
      $('#ticketForm').validate({ 
       ignore: ":hidden" 
      }); 
     }); 

Ich habe versucht, <form id="ticketForm"> vor und nach meiner @using (Html.BeginForm()), denken, es könnte einen Unterschied machen, aber hat keine Wirkung.

Bitte könnte jemand helfen.

Vielen Dank!

+0

Ich weiß nicht, wie. Also hast du gewählt, weil ich keine Geige gebaut habe? Ich habe mehr als genug Informationen gegeben, um dir zu zeigen, was ich will und was ich versucht habe. Wenn Sie nicht wissen, worüber ich rede, sagen Sie es und erklären Sie, worüber Sie verwirrt sind. Stimmen Sie nicht ab und geben Sie eine Antwort von einem Linienschiff ab! – AxleWack

+0

siehe @AxleWack Ich bin nicht abgewählt, wenn Sie keine vollständige Erklärung geben oder richtig ist vielleicht jemand tat –

+0

Ok danke für die Hilfe. Wenn jemand anders wirklich helfen kann, würde ich das sehr schätzen, danke. – AxleWack

Antwort

0

Noch einmal, fand die Lösung selbst!

Ich habe nur die folgenden in meiner Ansicht, wo das Akkordeon war:

@section scripts 
{ 
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.jquery.validate.unobtrusive.js")" type="text/javascript"></script> 

    <script> 
     $(document).ready(function() { 
      $.validator.setDefaults({ ignore: '' }); 
     }); 

@Scripts.Render("~/bundles/jqueryval") 
} 

Die jquery.validate.unobtrusive.js und validate.js ich von den NuGet Paketlösungen bekam .

Der Link, wo ich die Lösung bekam von von Here war