Trying to make jquery validation errors get added dynamically, why isn't this code working? -


i'm using following code try , dynamically add error labels , not have use many if else statements doesn't seem work, appreciated :)

this works:

errorplacement: function(error, element) {          if (element.attr("name") == "site" )             error.insertafter("div#siteerror");         else if  (element.attr("name") == "name" )             error.insertafter("div#nameerror");         else if  (element.attr("name") == "email" )             error.insertafter("div#emailerror");         else if  (element.attr("name") == "password" )             error.insertafter("div#passworderror");         else if  (element.attr("name") == "headerimage" )             error.insertafter("div#headerimageerror");         else if  (element.attr("name") == "header1" )             error.insertafter("div#header1error");         else if  (element.attr("name") == "header2" )             error.insertafter("div#header2error");         else if  (element.attr("name") == "headerfont" )             error.insertafter("div#headerfonterror");         else if  (element.attr("name") == "menucolor" )             error.insertafter("div#menucolorerror");         else if  (element.attr("name") == "menufontcolor" )             error.insertafter("div#menufontcolorerror");         else if  (element.attr("name") == "menufont" )             error.insertafter("div#menufonterror");         else if  (element.attr("name") == "backgroundcolor" )             error.insertafter("div#backgroundcolorerror");         else if  (element.attr("name") == "sitefontcolor" )             error.insertafter("div#sitefontcolorerror");         else if  (element.attr("name") == "sitefont" )             error.insertafter("div#sitefonterror");         else if  (element.attr("name") == "galleryimages" )             error.insertafter("div#galleryimageserror");         else             error.insertafter(element);     }, 

but doesn't:

errorplacement: function(error, element) { var $inputs = $('input'); $inputs.each(function(){     var name = $(this).attr('name');     var errorname = ('"div#' + name + 'error"') if (name === name) {     console.log("name: " + name + " " + "errorname: " + errorname);     error.insertafter($($.parsehtml(errorname)));     console.log("name matches!"); } else {     error.insertafter(element); } }); }, 

it returns of correct values reason won't work, ideas?

the developer has given element argument represents element being validated.

var name = $(element).attr('name'); 

since errorplacement deals each element it's being validated, not need .each() loop, , element argument work each 1 already.

you messed quotation marks here, missed semicolon, , don't need parenthesis...

var errorname = ('"div#' + name + 'error"') 

this works instead...

var errorname = 'div#' + name + 'error'; 

if you're trying insert error message specific div...

$(errorname).html(error); 

if (name === name) totally pointless, because there never scenario it's not equal itself.

demo: jsfiddle.net/rttlsoxl/

final:

errorplacement: function(error, element) {     var name = $(element).attr('name');     var errorname = 'div#' + name + 'error';     console.log("name: " + name + " " + "errorname: " + errorname);     $(errorname).html(error); }, 

Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -