gpt4 book ai didi

breeze - 翻译 Breeze 验证消息

转载 作者:行者123 更新时间:2023-12-02 00:13:32 29 4
gpt4 key购买 nike

改进我关于如何使用获得的元数据在淘汰赛中创建验证规则的示例(http://stackoverflow.com/questions/13662446/knockout-validation-using-breeze-utility)现在我使用 Breeze 插入实体的验证器:

function addValidationRules(entity) {
var entityType = entity.entityType;
console.log(entityType);
if (entityType) {
for (var i = 0; i < entityType.dataProperties.length; i++) {
var property = entityType.dataProperties[i];
var propertyName = property.name;
var propertyObject = entity[propertyName];

var validators = [];
for (var u = 0; u < property.validators.length; u++) {
var validator = property.validators[u];
var nValidator = {
propertyName: propertyName,
validator: function (val, other) {
var error = this.innerValidator.validate(val, { displayName: this.propertyName });
this.message = error ? error.errorMessage : "";
return error === null;
},
message: "",
innerValidator: validator
}
validators.push(nValidator);
}
propertyObject.extend({
validation: validators
});
}

for (var i = 0; i < entityType.foreignKeyProperties.length; i++) {
var property = entityType.foreignKeyProperties[i];
var propertyName = property.name;
var propertyObject = entity[propertyName];

var validators = [];
for (var u = 0; u < property.validators.length; u++) {
var validator = property.validators[u];
var nValidator = {
propertyName: propertyName,
validator: function (val, other) {
var error = this.innerValidator.validate(val, { displayName: this.propertyName });
this.message = error ? error.errorMessage : "";
return error === null;
},
message: "",
innerValidator: validator
}
validators.push(nValidator);
}
propertyObject.extend({
validation: validators
});
if (!property.isNullable) {
//Bussiness Rule: 0 is not allowed for required foreign keys
propertyObject.extend({ notEqual: foreignKeyInvalidValue });
}
}
}
};

我现在需要的是将错误消息翻译成我的语言,我想知道是否有可能包含一个类似于敲除验证中包含的功能来翻译消息:
//quick function to override rule messages
ko.validation.localize = function (msgTranslations) {

var msg, rule;

//loop the properties in the object and assign the msg to the rule
for (rule in msgTranslations) {
if (ko.validation.rules.hasOwnProperty(rule)) {
ko.validation.rules[rule].message = msgTranslations[rule];
}
}
};
//#endregion

最佳答案

这是一个好主意。请将其添加到Breeze User Voice (并投票给它)。我们非常重视这些建议。

短期内还有另一种方法。您可以更换任何

Validator.messageTemplates

用你自己的消息。 Validator.messageTemplates 是一个以验证器名称为键的配置对象,其中值是错误消息的参数化版本。

我们确实需要更好地记录这一点。

关于breeze - 翻译 Breeze 验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316454/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com