node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



GitHub version Build Status Coverage Status Codacy Badge Coverage Status

Better way of field transformation in Angular-Formly.



meteor add wieldo:angular-formly-transformer


npm install angular-formly-transformer


bower install angular-formly-transformer

Getting Started

angular.module('myApp', [

formlyTransformer service

see formlyTransformer API

How to use it

Register transformer

Each transformer has four arguments: fields, model, formOptions, and form.

See fieldTransform in formlyConfig for details.

Transformer is basically the same as fieldTransform method. formlyTransform service just wraps all functions into one place.

formlyTransformer.register(function(fields, model, form, formOptions) {
    // ... 

Special space in formly field configuration (formlyconfig)

formlyTransformer creates property with "transformers" key and empty object as value.

Special space is removed after all the transformers are executed.

So basically, you can put there all your transformation methods which are based on custom property.


angular.module('myAppName', [
  .controller('demoCtrl', demoCtrl);
  function runApp(formlyTransformer) {
        // label upperCaseLabel transformer 
        formlyTransformer.register(function(fields) {
            fields.forEach((field) => {
                if(field.transformers.upperCaseLabel && field.templateOptions && field.templateOptions.label) {
                    field.templateOptions.label = field.templateOptions.label.toUpperCase();
  function demoCtrl(formlyTransformer) {
        var vm = this;
        vm.fields = [
            key: 'firstName',
            type: 'input',
            templateOptions: {
                label: 'First name'
            transformers: {
                upperCaseLabel: true
        console.log(vm.fields[0].templateOptions.label); // FIRST NAME 

Bitdeli Badge