Я использую проверку KnockOut для проверки формы ClientSide. Все работает отлично, за исключением случаев, когда я вызываю метод showAllMessages(true)
, он отображает все сообщения на английском языке, игнорируя настройки локали. Мой код выглядит следующим образом:Проверка KnockOut не использует настройки локализации при использовании showAllMessages()
<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);
}
}
Когда я сделать saveUser()
он проверяет правильно, но все сообщения об ошибках выглядят как «This field is required
» вместо «Este campo es requerido
», как это должно быть, так как я использую es-es
локаль
Как я могу использовать этот язык в этом случае?