validate spanish name language errorelement data jquery jquery-validate

spanish - jquery validate rules messages



Cómo cambiar JQuery Validator Language Message (9)

Aquí estaría su estructura JSON en su script de validación inicial, como lo ha hecho Alex :

rules: { accntTypeCL: { required: true, }, accntNoCL: { required: true, minlength: 19, numberDash: true, } }, messages : { accntTypeCL : { required : Messages.ERR_TEST, }, accntNoCL : { required : Messages.ERR_TEST, numberDash : Messages.ERR_TEST, minlength : Messages.ERR_TEST2, }, } //This would be in your messages.js file... But you''ll need to make sure you are using a Java backend or something that will pull the messages.js correctly //For IBM worklight this worked great Messages = { // Add here your messages for the default language. // Generate a similar file with a language suffix containing the translated messages ERR_TOPLEVEL : ''<span role=/"presentation/">One or more of the required fields was left blank or is invalid.<//span>'', //Test Messages for tracing ERR_TEST: ''This be the test yar!'', ERR_TEST2: ''This be the test2 yar!'' };

De esta manera, puede reutilizar las mismas funciones, los mismos métodos adicionales y los mismos tipos de error y simplemente usar el archivo messages.js correcto en función del idioma del html que se debe detectar en el navegador o como sea que lo tenga. Este método en particular funcionó bien para mí.

Estoy usando el Validador JQuery de http://bassistance.de/jquery-plugins/jquery-plugin-validation/ . ¿Cómo puedo hacerlo para que los mensajes sean personalizados y no en inglés?


El mejor método es extender el plugin así cuando sea necesario.

$.extend($.validator.messages, { required: "my required message", .... });


Hazlo asi:

$(document).ready(function() { $("form#login").validate({ lang: ''en'' // or whatever language option you have. }); });

Si el idioma que desea proporcionar no es uno de los idiomas predeterminados, haga lo siguiente:

$.tools.validator.localize("fi", { ''*'' : ''Virheellinen arvo'', '':email'' : ''Virheellinen s&auml;hk&ouml;postiosoite'', '':number'' : ''Arvon on oltava numeerinen'', '':url'' : ''Virheellinen URL'', ''[max]'' : ''Arvon on oltava pienempi, kuin $1'', ''[min]'' : ''Arvon on oltava suurempi, kuin $1'', ''[required]'' : ''Kent&auml;n arvo on annettava'' }); $("form#login").validate({ lang: ''fi'' });

Vea estas instrucciones para más.


Mira mi solucion

jQuery.extend(jQuery.validator.messages, { required: abp.localization.localize("FormValidationMessageRequired"),//"This field is required.", remote: "Please fix this field.", email: abp.localization.localize("FormValidationMessageEmail"),//"Please enter a valid email address.", url: abp.localization.localize("FormValidationMessageUrl"),//"Please enter a valid URL.", date: abp.localization.localize("FormValidationMessageDate"),//"Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", number: abp.localization.localize("FormValidationMessageNumber"),//"Please enter a valid number.", digits: "Please enter only digits.", creditcard: "Please enter a valid credit card number.", equalTo: abp.localization.localize("FormValidationMessageDataEquals"),//"Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: jQuery.validator.format("Please enter no more than {0} characters."), minlength: jQuery.validator.format(abp.localization.localize("FormValidationMessageMinlength")),//jQuery.validator.format("Please enter at least {0} characters."), rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."), range: jQuery.validator.format("Please enter a value between {0} and {1}."), max: jQuery.validator.format(abp.localization.localize("FormValidationMessageMax")),//jQuery.validator.format("Please enter a value less than or equal to {0}."), min: jQuery.validator.format(abp.localization.localize("FormValidationMessageMin"))//jQuery.validator.format("Please enter a value greater than or equal to {0}.") });

y esta función abp.localization.localize(Key) devuelve la cadena localizada en función de la cultura actual, esta función es del marco que usé llamado aspnetboilerplate

Para más información, vea este hilo de desbordamiento de pila. Validación de jQuery: cambie el mensaje de error predeterminado.


Si busca en el directorio "localización", puede encontrar diferentes archivos .js que contengan mensajes de error en diferentes idiomas. [algo así como "messages_XX.js"]

Elija el archivo del idioma que necesita y simplemente agregue la siguiente línea en la etiqueta, después de la inclusión de jquery.validate.js

<script type="text/javascript" src="localization/messages_XX.js"></script>


También puede poner los mensajes de error directamente en el marcado de esta manera:

<input required data-msg="Please fill this field"> <input data-rule-minlength="2" data-rule-maxlength="4" data-msg-minlength="At least two chars" data-msg-maxlength="At most fours chars">

Ver documentation

Si usa algún tipo de complemento de localización, puede mover los mensajes en archivos separados. Aquí utilizo i18n-2 (módulo npm):

<input id="email" type="email" name="email" data-msg=__("pages.apply.form.email.errormsg.required"))

Luego pongo mis archivos de idioma en una carpeta:

/locales da.json en.json

en.json

"pages": { "apply": { "subtitle": "Apply here", "form": { "email": { "title": "Email", "placeholder": "Your email address", "warning": "NB! DER AFSENDES EN MAIL HERTIL", "errormsg": { "required": "Enter a valid email address" } } } } }


Tarde en el juego, pero si está utilizando la misma plantilla para varios idiomas, puede hacerlo en línea:

if($(''html'').attr(''lang'')==''he''){ $(''form'').validate({ messages: { email: "חובה", phone: "חובה", zip: "חובה" } }); }else{ $(''form'').validate({ messages: { email: "Required", phone: "Required", zip: "Required" } }); };


Usa el objeto de messages .

Parejas clave / valor que definen mensajes personalizados. Clave es el nombre de un elemento, valore el mensaje que se mostrará para ese elemento. En lugar de un mensaje simple, se puede utilizar otro mapa con mensajes específicos para cada regla. Anula el atributo de título de un elemento o el mensaje predeterminado para el método (en ese orden). Cada mensaje puede ser una cadena o una devolución de llamada. La devolución de llamada se llama en el alcance del validador y con los parámetros de la regla como el primero y el elemento como la segunda regla, debe devolver una Cadena para que se muestre como el mensaje.

Ejemplo

$(".selector").validate({ rules: { name: "required", email: { required: true, email: true } }, messages: { name: "Please specify your name", email: { required: "We need your email address to contact you", email: "Your email address must be in the format of [email protected]" } } })

Source


simplemente ingrese un valor "requerido" en el json que define la validación. Compruebe la fuente de las demos, pero está en la categoría de mensajes.