{"action":"opened","issue":{"url":"https://api.github.com/repos/formly-js/angular-formly/issues/499","labels_url":"https://api.github.com/repos/formly-js/angular-formly/issues/499/labels{/name}","comments_url":"https://api.github.com/repos/formly-js/angular-formly/issues/499/comments","events_url":"https://api.github.com/repos/formly-js/angular-formly/issues/499/events","html_url":"https://github.com/formly-js/angular-formly/issues/499","id":108953688,"number":499,"title":"Using formly-skip-ng-model-attrs-manipulator to remove name attribute prevents formControl object from being populated","user":{"login":"j--w","id":6635888,"avatar_url":"https://avatars.githubusercontent.com/u/6635888?v=3","gravatar_id":"","url":"https://api.github.com/users/j--w","html_url":"https://github.com/j--w","followers_url":"https://api.github.com/users/j--w/followers","following_url":"https://api.github.com/users/j--w/following{/other_user}","gists_url":"https://api.github.com/users/j--w/gists{/gist_id}","starred_url":"https://api.github.com/users/j--w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/j--w/subscriptions","organizations_url":"https://api.github.com/users/j--w/orgs","repos_url":"https://api.github.com/users/j--w/repos","events_url":"https://api.github.com/users/j--w/events{/privacy}","received_events_url":"https://api.github.com/users/j--w/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-29T20:30:38Z","updated_at":"2015-09-29T20:30:38Z","closed_at":null,"body":"### JSBin Link\r\nhttp://jsbin.com/naqaxo/edit?js,output\r\n\r\n### Failing Test: formly-field.test.js\r\n```\r\ndescribe(`formly-skip-ng-model-attrs-manipulator`, () => {\r\n  it(`should provide formControl when using formly-skip-ng-model-attrs-manipulator and no name is specified`, () => {\r\n    scope.fields[0].template = `<input ng-model=\"model[options.key]\" formly-skip-ng-model-attrs-manipulator />`;\r\n    compileAndDigest();\r\n    expect(field.formControl).to.exist;\r\n  });\r\n});\r\n```\r\n\r\n### Details\r\nI am using formly for a credit card form that will be processed by a third party provider([Stripe.js](https://stripe.com/docs/tutorials/forms) or [Recurly.js](https://docs.recurly.com/js/#build-a-card-form)) both of these payment providers advise against using a **name** attribute on sensitive fields in case the form is accidentally submitted to the server(from error in JS failure for JS to preventDefault() or otherwise) as it prevents those sensitive fields from being posted to the server with the rest of the fields, getting stored in logs and voiding certain levels of PCI compliance.\r\n\r\nI've gotten around this by using a custom field template that uses the **formly-skip-ng-model-attrs-manipulator** attribute and has no name attribute. The issue is that when I do this the options.formControl object seems to be dependent on the name attribute and is therefore not populated which means I don't get access to the validation helpers like **$valid**, **$pristine**.\r\n\r\nInterested to hear your thoughts on if this is something you think formly should be able to handle."}}