jQuery validate – ¿Cómo ignoro el caso de las letras?

Probablemente sea una pregunta tonta, pero parece que no puedo encontrar nada en Google Land. Simplemente necesito uno de mis métodos para ignorar el caso del campo ingresado. Estoy haciendo una coincidencia de nombre de ciudad, pero necesito que tanto “Atlanta” como “Atlanta” sean válidas. ¿Cómo debo editar esto para obtener el amor de validación que necesito?

jQuery.validator.addMethod("atlanta", function(value) { return value == "Atlanta"; //Need 'atlanta' to work too }, '**Recipient must reside in Chicago City Limits**'); 

Pre gracias a todos y cada uno 🙂

 jQuery.validator.addMethod("atlanta", function(value) { return value.toLowerCase() == "atlanta"; }, '**Recipient must reside in Chicago City Limits**'); 

Incluso podría crear una regla de validación jQuery más genérica que se pueda reutilizar para realizar una comparación que no distinga mayúsculas y minúsculas como

 $.validator.addMethod("equalToIgnoreCase", function (value, element, param) { return this.optional(element) || (value.toLowerCase() == $(param).val().toLowerCase()); }); 

que luego se puede utilizar para las siguientes dos entradas de muestra

   

me gusta

 $("form").validate({ rules: { firstname: { equalToIgnoreCase: "input[name=username]" } }, messages: { firstname: { equalToIgnoreCase: "The 'firstname' must match the 'username'" } }); 

La manera más fácil de obtener una coincidencia que no distinga mayúsculas de minúsculas es convertir ambos valores a mayúsculas y luego compararlos (mayúsculas porque en ciertas culturas / idiomas, la conversión de mayúsculas a minúsculas puede cambiar un carácter).

Así que haz el cheque

 value.toUpperCase() == "Atlanta".toUpperCase() 
 return value.toLowerCase() == "atlanta"; or use return value.toLowerCase() == "Atlanta".toLowerCase(); 
 return (value ? value.match(/atlanta/i) : null) != null 

Esto es insensible a mayúsculas y puede hacer muchas cosas divertidas con la expresión regular. Disfrutar. Y por favor, no hagas "Cosntant".toLowerCase() hay demasiados errores en eso.