验证消息可以像此处的http://docs.angular-formly.com/v5.2.1/docs/formlyvalidationmessages那样进行全局配置
我喜欢使用翻译筛选器,以便将书面验证错误翻译为配置的语言。有人知道如何做到这一点吗?
发布于 2016-10-27 17:56:11
假设您使用类似以下内容来设置验证消息:
var field = {
type: 'whatever',
templateOptions: {
pattern: /some_crazyPattern/,
patternValidationMessage: '"Needs to match " + options.templateOptions.pattern'
}
};通过使用angular translate,在js代码中可以使用$translate来实现以下功能:
$translate('some.message').then(function(response) {
var field = {
type: 'whatever',
templateOptions: {
pattern: /some_crazyPattern/,
patternValidationMessage: response.some.message + 'options.templateOptions.pattern'
}
};
});这有帮助吗?
发布于 2016-11-08 19:59:04
如果使用验证器定义字段,则可以使用:
validators: {
validUntilDateAfterValidFromDate: {
expression: (viewValue, modelValue) => this.validateValidUntilDate(modelValue),
message: '"some.translate.code" | translate'
}
}如果你想使用更通用的方法,将formlyValidationMessages添加到你的正式配置中,你可以向你的正式配置提供程序中添加一个包装器:
formlyConfigProvider.setWrapper({
name: "field-message",
templateUrl: "/app/formly/wrappers/field-message.html"
});使用field-message.html:
<formly-transclude></formly-transclude>
<div class="messages" ng-messages="fc.$error" ng-if="fc.$touched">
<div class="alert alert-danger"
ng-message="{{::name}}"
ng-repeat="(name, message) in ::options.validation.messages"
translate>
{{message(fc.$viewValue, fc.$modelValue, this)}}
</div>
</div>https://stackoverflow.com/questions/38977451
复制相似问题