Вступление
Практически каждый веб-сайт включает сбор пользовательского ввода с помощью HTML-форм . Каждый раз, когда мы собираем пользовательские данные, мы должны их проверять. В компьютерных науках проверка данных
- это процесс проверки того, являются ли введенные данные разумными и обоснованными.
Подумайте о разработке формы для подписки по электронной почте. В этом
случае мы хотим проверить, соответствует ли отправленное электронное
письмо общему формату электронной почты, например [email protected]
.
Без проверки злоумышленники могут вводить бесполезные значения или даже
выполнять SQL-инъекции.
В этой статье мы будем выполнять проверку данных формы с помощью Validator.js - облегченного пакета NPM, созданного именно для этой цели.
Установка Validator.js
Давайте создадим каталог для нашего проекта с именем string-validator
, перейдем в него, создадим index.js
входа 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": " [email protected] ",
"cell": "081-454-0666",
"dob": "1993-07-20T09:44:18.674Z",
"creditCardNumber": "4539415755005206",
"book": {
"title": "Harry Potter and the Deathly Hallows",
"author": "Rowling, JK",
"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 - легкий пакет, используемый для проверки данных и строк.