Ошибка в консоли при проверке gstin в Polymer JS - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть Polymer JS-код, который подтверждает идентификационный номер GST:

<dom-module id="gst">
    <template>
            <div>
                <label for="gstid" class="gstlabel">GSTIN</label>
                <input type="text" id="gstid" name="gstid" on-submit="gstid_validation(gstid)">
            </div>
    </template>

    <script>
        Polymer({
            is: 'gst',
            gstid_validation: function(gstin) {
                var gstin_count = length(gstin);
                var pattern = "qr/\d{2}[A-Z]{5}\d{4}[A-Z][A-Z\d]Z[A-Z\d]/";
                if (gstin_count !== 15 && gstin !~ pattern) {
                    return 'Invalid GSTIN';
                }
            }.
        });
    </script>
</dom-module>

В консоли появляется следующая ошибка:

Uncaught SyntaxError: Unexpected token !

Может кто-нибудь помочь, пожалуйста?

Заранее спасибо

1 Ответ

0 голосов
/ 06 ноября 2019

Как я уже писал в комментарии, это явно проблема со второй частью вашего оператора if, gstin !~ pattern.

Если предположить, что вы хотите соответствовать регулярному выражению, правильный синтаксис будетчто-то вроде:

if (gstin_count !== 15 && pattern.text(gstin))

Обратите внимание, что есть несколько других проблем с вашим кодом. Просто назову несколько:

  • Ваша переменная pattern содержит строку, а не регулярное выражение. Для регулярных выражений вы не должны использовать кавычки в качестве разделителей. Также модификаторы идут в конце регулярных выражений.
  • В JS нет функции length, поэтому, если она не реализована специально, скорее всего, вам понадобится gstin.length
  • . чтобы иметь тире в имени (gstin-validator, gst-in и т. д.),
  • , когда вы определяете обработчик события, вам нужно передать имя метода, а не вызывать его, как я говорил вам в этом другомpost: Ошибка в консоли при скрытии ссылки при клике через Polymer / Dom
...