Sitemde çalışmak için güzel bir doğrulama çözümü almaya çalışıyorum, ancak farklı seçeneklerle sorun yaşıyorum. Dokümanları iyice okudum ve örneklere baktım ama hala sorun yaşıyorum.jQuery validate eklentisi - showErrors seçeneği - errorContainer gizlenmiyor/gösterilmiyor
Formum bir tabloda. Her satırın, normalde gizli olan, ancak her satırın uygun şekilde gösterilmesini sağlayan kendi hata satırının olmasını istiyorum.
$('#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());
}
});
yüzden şöyle showErrors seçeneğini kullanmayı denedim:
aşağıdaki seçenekler sakladı ve ince hata satırları gösterdi ama her hata bir satırda gösterilen hata mesajı her hata mesajının bütün birleştirme oldu :
$('#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]);
});
Eh, şimdi hataları tüm ayrılmış ve doğru yerde gösterilen ama .errorRows
göstermek için alınamıyor edilir. Burada neyi yanlış yapıyorum? Eğer showErrors yöntemi için doğrulama eklentisi kaynağına bakacak olursak
çok teşekkürler
Ben kodunuzu izledi ve mayın başvurmuştur. Hata onclick gönderilir, ancak zaman zaman bazı sayfa yenilenir. Yaptığım hatayı kontrol edebilir misin lütfen? Burada bağlantı kurmak: https://jsfiddle.net/locateganesh/we7rkrxk/1/ – locateganesh
Konsolda bakarak bir istisna olduğunu görebilirsiniz "Uncaught TypeError: this.defaultShowErrors bir işlev değil". Sendeki gibi şunu söylüyorum: this.defaultShowErrors() ', özel' showErrors 'işleyicisinin sonunda çağrılmalıdır, ancak kod örneğinde, $ .each() 'içine eklenmiştir! İyi yakalama ;-) –