2013-01-03 2 views
7

Desidero personalizzare lo errorPlacement solo per determinati campi e rinviare il posizionamento predefinito del plug-in per il resto. Qualcosa di simile:Personalizza jQuery Validation's errorPlacement only for some fields

errorPlacement : function(error, element) { 
    if($(element).prop("id") === "mySpecialField") { 
     $("#mySpecialErrorMessageHolder").append(error); 
    } 
    else { 
     // this is not valid syntax but it's what I really want... 
     super.errorPlacement(error, element); 
    } 
} 

È possibile?

risposta

16
errorPlacement : function(error, element) { 
    if($(element).prop("id") === "mySpecialField") { 
     $("#mySpecialErrorMessageHolder").append(error); 
    } 
    else { 
     error.insertAfter(element); // default error placement. 
    } 
} 

Looking at the source, il comportamento predefinito è quello di utilizzare insertAfter.

4

Usa error.insertAfter(element);, che è il default:

errorPlacement : function(error, element) { 
    if($(element).prop("id") === "mySpecialField") { 
     $("#mySpecialErrorMessageHolder").append(error); 
    } 
    else { 
     error.insertAfter(element); 
    } 
}