asp.net - KnockOut Validation not using localization settings when using showAllMessages() -


i´m using knockout validation validate form clientside. working perfect except when call method showallmessages(true), shows messages in english, ignoring locale settings. code looks this:

<asp:scriptmanager id="scriptmanagermaster" runat="server">     <scripts>         <asp:scriptreference path="js/jquery-2.1.4.min.js"/>         <asp:scriptreference path="js/bootstrap.min.js" />         <asp:scriptreference path="js/knockout-3.3.0.js" />         <asp:scriptreference path="js/knockout.validation.js"/>         <asp:scriptreference path="js/es-es.js"/>         <asp:scriptreference path="js/app/_run.js"/>         <asp:scriptreference path="js/app/app.datamodel.js"/>         <asp:scriptreference path="js/app/app.viewmodel.js"/>     </scripts> </asp:scriptmanager>  ko.validation.locale("es-es"); ko.validation.init({     registerextenders: true,     messagesonmodified: true,     insertmessages: true,     parseinputattributes: true,     errorelementclass: "has-error",     errormessageclass: "help-block",     decorateinputelement: true }, true);  self.saveuser = function () {     var errors = ko.validation.group(self, { deep: true });     if (errors().length === 0) {         var user = ko.tojson(self);         datamodel.putuser(user)             .done(function(result) {                 alert("se guardó el usuario");             })             .fail(self.onusercreationerror);     } else {         errors.showallmessages(true);     } } 

when saveuser() validates correctly, error messages "this field required" instead of "este campo es requerido" should since i'm using es-es locale

how use locale in case?

i went trough ko.validation.js file , found messages directly in file , responses not referencing locale.js messages. quick fix, change messages english locale.js 1 manually or doing like:

kv.rules = {}; kv.rules['required'] = {     validator: function (val, required) {         var testval;          if (val === undefined || val === null) {             return !required;         }          testval = val;         if (typeof (val) === 'string') {             if (string.prototype.trim) {                 testval = val.trim();             }             else {                 testval = val.replace(/^\s+|\s+$/g, '');       }     }      if (!required) {// if passed: { required: false }, don't require         return true;     }      return ((testval + '').length > 0); }, message: 'este campo es obligatorio.' }; 

Comments