DevGang
Авторизоваться

Проверка данных формы в Node.js с помощью Validator.js 

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

Рассмотрите возможность разработки формы для подписки по электронной почте. В этом случае мы хотим проверить, соответствует ли отправленное электронное письмо общему формату, например username@randomMail.com. Без проверки злоумышленники могут вводить бесполезные значения или даже выполнять SQL-инъекции.

В этой статье мы будем выполнять проверку данных формы с помощью Validator.js - облегченного пакета NPM, созданного именно для этой цели.

Установка Validator.js

Давайте создадим каталог для нашего проекта с именем string-validator, переместимся в него, создадим index.js как точку входа и инициализируем проект Node с настройками по умолчанию, используя npm:

mkdir string-validator
cd string-validator
npm init -y

Затем давайте выполним:

touch index.js

После инициализации проекта мы можем установить пакет Validator.js, используя:

npm install validator

Проверка данных формы с помощью Validator.js

Рассмотрим приложение для продажи книг, в котором пользовательский ввод сначала собирается с помощью HTML-формы. Затем эти данные отправляются в формате JSON на сервер для дальнейшей обработки. Давайте посмотрим, как для этого можно выполнить проверку строки.

Допустим, это данные, которые отправляются из внешнего интерфейса. Сохраним эти данные в файл index.js. Также подключим Validator.js в наш файл:

const validator = require("validator")

const data = {
    "gender": "male",
    "name": {
        "title": "mr",
        "first": "brad",
        "last": "gibson"
    },
    "countryCode": "IE",
    "postalCode": "93027",
    "email": "brad.gibson@example.com",
    "cell": "081-454-0666",
    "dob": "1993-07-20T09:44:18.674Z",
    "creditCardNumber": "4539415755005206",
    "book": {
        "title": "Harry Potter and the Deathly Hallows",
        "author": "Rowling, J. K.",
        "isbn": "9780545010221",
        "isbnVersion": "13"
    }
}

Validator.js имеет множество предустановленных функций для проверки действительности различных входных данных, таких как кредитные карты, мобильные телефоны, электронные письма, почтовые индексы и т.д.

Прежде всего, давайте проверим, предоставляет ли пользователь действительные данные кредитной карты. Это можно сделать с помощью:

console.log(validator.isCreditCard(data.creditCardNumber)); // true

Для доставки книги должен быть действительный почтовый индекс. Итак, давайте проверим это, используя:

console.log(validator.isPostalCode(data.postalCode, data.countryCode)) // false

Подтвердить номер телефона можно с помощью:

console.log(validator.isMobilePhone(data.cell, `en-${data.countryCode}`)); // false

Подтверждение адреса электронной почты можно выполнить с помощью:

console.log(validator.isEmail(data.email)) // true

Кроме того, мы можем выполнить проверку ISBN, используя:

console.log(validator.isISBN(data.book.isbn, data.book.isbnVersion)) // true

Затем мы можем предложить пользователю повторно ввести любую недопустимую информацию, чтобы убедиться, что у нас есть чистые и работоспособные данные.

Вывод

В этой статье мы рассмотрели NPM-пакет Validator.js - легкий пакет, используемый для проверки данных и строк.

Источник:

#JavaScript #NodeJS
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить