<!-- @license Copyright (c) 2015 The Polymer Project Authors. All rights reserved. This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt --> <link rel="import" href="../polymer/polymer.html"> <script> /** Polymer.IronFormElementBehavior enables a custom element to be included in an `iron-form`. @demo demo/index.html @polymerBehavior */ Polymer.IronFormElementBehavior = { properties: { /** * Fired when the element is added to an `iron-form`. * * @event iron-form-element-register */ /** * Fired when the element is removed from an `iron-form`. * * @event iron-form-element-unregister */ /** * The name of this element. */ name: { type: String }, /** * The value for this element. */ value: { notify: true, type: String }, /** * Set to true to mark the input as required. If used in a form, a * custom element that uses this behavior should also use * Polymer.IronValidatableBehavior and define a custom validation method. * Otherwise, a `required` element will always be considered valid. * It's also strongly recommended to provide a visual style for the element * when its value is invalid. */ required: { type: Boolean, value: false }, /** * The form that the element is registered to. */ _parentForm: { type: Object } }, attached: function() { // Note: the iron-form that this element belongs to will set this // element's _parentForm property when handling this event. this.fire('iron-form-element-register'); }, detached: function() { if (this._parentForm) { this._parentForm.fire('iron-form-element-unregister', {target: this}); } } }; </script>