Skip to content

Instantly share code, notes, and snippets.

@aaronanderson
Last active May 6, 2017 15:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aaronanderson/c46f18d0ab30f1ba16f561351adb7ff7 to your computer and use it in GitHub Desktop.
Save aaronanderson/c46f18d0ab30f1ba16f561351adb7ff7 to your computer and use it in GitHub Desktop.
match-passwords-validator.html
<link rel="import" href="../polymer/polymer-element.html">
<link rel="import" href="../iron-validator-behavior/iron-validator-behavior.html">
<script>
class MatchPasswordsValidator extends Polymer.mixinBehaviors([Polymer.IronValidatorBehavior], Polymer.Element) {
static get is() {
return 'match-passwords-validator';
}
ready() {
super.ready();
new Polymer.IronMeta({type: 'validator', key: this.validatorName, value: this});
}
static get properties() {
return {
password: {
notify: true,
type: String
},
validatorName: {
type: String,
value: function(){
return this.is;
}
}
}
}
validate (values) {
return !values || values === this.password;
}
}
window.customElements.define(MatchPasswordsValidator.is, MatchPasswordsValidator);
</script>
<match-passwords-validator id="installValidator" validator-name="installValidator" password="[[install.password]]"></match-passwords-validator>
<paper-input id="password" label="Workspace Password" value="{{install.password}}" required minLength="6" auto-validate error-message="Enter at least 6 characters"></paper-input>
<paper-input id="passwordConfirm" label="Confirm" auto-validate validator="installValidator" error-message="Passwords need to match"> </paper-input>
@tpluscode
Copy link

Hi. What's with the new Polymer.IronMeta({type: 'validator', key: this.validatorName, value: this}); line? Is this the Polymer way for registering validators for use by IronValidatableBehavior? It's especially curious given that validatorName has been removed in 2.0-preview branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment