Базовая настройка проверки семантики и пользовательского интерфейса - PullRequest
1 голос
/ 20 сентября 2019

Я новичок в семантике и в JavaScript, так что, пожалуйста, потерпите меня.У меня есть базовая форма, которую я пытаюсь заставить работать со встроенной проверкой форм, предоставляемой semantic-ui.Эта форма является частью веб-приложения, использующего node, express и pug.Структура конкретной формы (вид), над которой я работаю, выглядит следующим образом:

enter image description here

Извините за использование изображения, но я пытаюсьдержать это на высоком уровне.Как вы можете видеть, у меня есть форма (с я полагаю, необходимые классы), кнопка отправки и блок скрипта в конце, где я получил код проверки на данный момент.

Вотмой код проверки, такой как он есть:

     $('#new-password-form').form({
        on: 'blur',
        fields: {
          password: {
            identifier : 'password',
            rules: [
              {
                type  : 'empty',
                prompt: 'You must enter a password'
              },
              {
                type  : 'regExp[/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/]',
                prompt: 'Your password must be at least 8 characters long, and contain upper and lower case characters, digit(s), and symbol(s)'
              }
            ]
          }
        }
      }, {
          onSuccess : function(e){
            e.preventDefault();
          }
      });

Проблема в том, что проверка не работает.Когда я нажимаю кнопку «Отправить», форма пытается выполнить регулярную отправку, и это выглядит так, как будто JavaScript вообще не существует.Все же это там.Узел показывает, что все правильно загружено и загружено браузером.Проверка визуализированного HTML показывает, что все есть, и я не вижу ошибок в консоли.Похоже, что страница успешно загрузила все необходимые файлы следующим образом:

GET /enroll/new 200 31.281 ms - 2652
GET /stylesheets/style.css 200 0.859 ms - 735
GET /jquery/jquery.js 200 1.491 ms - 280364
GET /ui/semantic.min.css 200 1.508 ms - 628536
GET /ui/semantic.min.js 200 2.070 ms - 275709
GET /images/amm.png 200 2.068 ms - 25415
GET /ui/semantic.min.css 200 0.418 ms - 628536
GET /favicon.ico 404 9.768 ms - 1499

Так что же дает?Может кто-нибудь сказать мне, что я делаю не так?Буду рад предоставить более подробную информацию, если того, что у меня здесь есть, недостаточно.

Обновление:

Я извлек HTML в плоский файл и заново связал ресурсы (png, js, css) так что сервер вообще не задействован.Страница загружается в браузере просто отлично.Я получаю точно такое же поведение (при нажатии на кнопку submit ничего не происходит, за исключением перезагрузки страницы с параметрами get - поведение по умолчанию, отличное от js, AFAIK).Это заставляет меня думать, что что-то не так с jQuery или самим javascript.

1 Ответ

0 голосов
/ 20 сентября 2019

Ну, я обнаружил проблему ... отсутствует ',' в конце строки "type:" (regExp [/ ^ (? =. * [Az]) ...).

enter image description here

Теперь проверка работает как для статического файла, так и для версии сервера.К тому, что стоит исходить из других языков, где это не проблема, повсеместное использование javascript встроенных функций и структур данных, вложенных в несколько уровней, - это то, к чему мне было очень трудно привыкнуть.Слишком легко пропустить какой-то критический маленький кусочек.

Полагаю, пусть это будет еще одним примером базовой настройки семантического пользовательского интерфейса, которая работает ... до тех пор, пока вы не оставите запятые.(Я исправил приведенный выше код для тех, кто может захотеть скопировать / вставить)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...