2016-08-16 99 views

回答

0

假設你使用這樣的事情來設置驗證消息:

var field = { 
    type: 'whatever', 
    templateOptions: { 
    pattern: /some_crazyPattern/, 
    patternValidationMessage: '"Needs to match " + options.templateOptions.pattern' 
    } 
}; 

採用了棱角分明翻譯,JS代碼$翻譯可用於這個範圍內:

$translate('some.message').then(function(response) { 
    var field = { 
    type: 'whatever', 
    templateOptions: { 
     pattern: /some_crazyPattern/, 
     patternValidationMessage: response.some.message + 'options.templateOptions.pattern' 
    } 
    }; 
}); 

這是幫扶?

0

如果你定義一個與驗證字段,你可以使用:

validators: { 
    validUntilDateAfterValidFromDate: { 
    expression: (viewValue, modelValue) => this.validateValidUntilDate(modelValue), 
    message: '"some.translate.code" | translate' 
    } 
} 

如果您希望通過添加formlyValidationMessages您formly配置爲使用更通用的方法,你可以包裝添加到您的formlyconfigprovider:

formlyConfigProvider.setWrapper({ 
    name: "field-message", 
    templateUrl: "/app/formly/wrappers/field-message.html" 
}); 

與現場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>