1<!--
2@license
3Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7Code distributed by Google as part of the polymer project is also
8subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9-->
10
11<link rel="import" href="../../polymer/polymer.html">
12<link rel="import" href="../../iron-validator-behavior/iron-validator-behavior.html">
13
14<script>
15
16  Polymer({
17
18    is: 'cats-only',
19
20    behaviors: [
21      Polymer.IronValidatorBehavior
22    ],
23
24    validateObject: function(obj) {
25      var valid = true;
26      for (key in obj) {
27        if (obj[key] !== 'cats') {
28          valid = false;
29          break;
30        }
31      }
32      return valid;
33    },
34
35    validate: function(values) {
36      if (typeof values === 'object') {
37        return this.validateObject(values);
38      } else {
39        var value = Array.isArray(values) ? values.join('') : values;
40        return value.match(/^(c|ca|cat|cats)?$/) !== null;
41      }
42    }
43
44  });
45
46</script>
47