Próbowałem uzyskać dobre rozwiązanie sprawdzania poprawności, które zadziała w mojej witrynie, ale mam problem z różnymi opcjami. Przeczytałem dokładnie te dokumenty i przejrzałem przykłady, ale nadal mam problemy.jQuery sprawdź poprawność wtyczki - opcja showErrors - błądContainer nie ukrywa/pokazuje
Mój formularz znajduje się w tabeli. Chcę, aby każdy wiersz miał pod nim własny wiersz błędu, który zwykle byłby ukryty, ale który byłby wyświetlany dla każdego wiersza.
następujące opcje ukrył i pokazał wiersze o błędach w porządku, ale komunikat o błędzie przedstawionego w każdym rzędzie błędu był cały połączeniem każdym komunikatem o błędzie:
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorLabelContainer: '.errorRow.appValueColumn',
errorPlacement: function(error, element) {
error.appendTo(element.parent().next());
}
});
więc próbowałem użyć opcji showErrors następująco :
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorContainer: '.errorRow.appValueColumn',
showErrors: function(errorMap, errorList) {
$.each(errorMap, function(key, value) {
$('#'+key).parent().next().children('.appValueColumn').html(errorMap[key]);
});
Cóż, teraz błędy są oddzielone i przedstawione w odpowiednim miejscu, ale nie mogę uzyskać .errorRows
pokazać. Co ja tu robię źle?
Dziękujemy
Śledziłem swój kod i stosowane do kopalni. Błąd przychodzi onclick submit, ale od czasu niektóre strony odświeża. Czy możesz sprawdzić, jaki błąd popełniam. fiddle link here: https://jsfiddle.net/locateganesh/we7rkrxk/1/ – locateganesh
Cóż, patrząc na konsolę, widać, że jest wyjątek "Uncaught TypeError: this.defaultShowErrors nie jest funkcją". Tak jak mówię w poście 'this.defaultShowErrors()' powinno być wywołane na końcu niestandardowego programu obsługi "showErrors", ale w przykładzie kodu zostało ono zawarte w '$ .each()'! Dobry połów ;-) –