Библиотека Validator.js распространяется через npm и предназначена для проверки и очистки строковых данных. Чаще всего используется в проектах на Node.js, а также во frontend-приложениях, работающих через сборщики вроде Webpack, Vite или Parcel.
npm install validator
После установки пакет появится в разделе dependencies
файла package.json.
Пример:
{
"dependencies": {
"validator": "^13.15.15"
}
}
yarn add validator
pnpm add validator
Для классических Node.js-проектов используется
require.
const validator = require('validator');
После подключения становятся доступны методы библиотеки.
Пример проверки email:
const validator = require('validator');
const email = 'admin@example.com';
console.log(validator.isEmail(email));
Результат:
true
В современных проектах используется синтаксис
import.
import validator from 'validator';
Пример:
import validator from 'validator';
const url = 'https://example.com';
console.log(validator.isURL(url));
Validator.js поддерживает импорт отдельных методов. Это уменьшает размер итогового bundle-файла во frontend-приложениях.
import isEmail from 'validator/lib/isEmail';
Пример:
import isEmail from 'validator/lib/isEmail';
console.log(isEmail('user@mail.com'));
import isEmail from 'validator/lib/isEmail';
import isURL from 'validator/lib/isURL';
import isStrongPassword from 'validator/lib/isStrongPassword';
Библиотеку можно подключить напрямую через тег
<script>.
<script src="https://cdn.jsdelivr.net/npm/validator@13.15.15/validator.min.js"></script>
После подключения объект validator становится глобально
доступным.
Пример:
<script>
console.log(
validator.isEmail('test@example.com')
);
</script>
console.log(validator.version);
console.log(typeof validator.isEmail);
Результат:
function
После подключения доступно большое количество методов.
Пример:
import validator from 'validator';
console.log(Object.keys(validator));
Некоторые популярные методы:
| Метод | Назначение |
|---|---|
isEmail() |
Проверка email |
isURL() |
Проверка URL |
isMobilePhone() |
Проверка номера телефона |
isStrongPassword() |
Проверка сложности пароля |
isNumeric() |
Проверка числа |
isDate() |
Проверка даты |
escape() |
Экранирование HTML |
trim() |
Удаление пробелов |
Validator.js содержит встроенные типы, поэтому дополнительная
установка @types обычно не требуется.
import validator from 'validator';
const email: string = 'admin@example.com';
const result: boolean = validator.isEmail(email);
console.log(result);
Validator.js часто применяется для валидации данных HTTP-запросов.
npm install express
import express from 'express';
import validator from 'validator';
const app = express();
app.use(express.json());
app.post('/register', (req, res) => {
const { email } = req.body;
if (!validator.isEmail(email)) {
return res.status(400).json({
error: 'Некорректный email'
});
}
res.json({
success: true
});
});
app.listen(3000);
npm install validator
import { useState } from 'react';
import validator from 'validator';
function App() {
const [email, setEmail] = useState('');
const checkEmail = () => {
console.log(
validator.isEmail(email)
);
};
return (
<div>
<input
type="text"
onCha nge={(e) => setEmail(e.target.value)}
/>
<button onCl ick={checkEmail}>
Проверить
</button>
</div>
);
}
import validator from 'validator';
export default {
data() {
return {
email: ''
};
},
methods: {
validateEmail() {
return validator.isEmail(this.email);
}
}
};
npm create vite@latest
npm install validator
import validator from 'validator';
console.log(
validator.isURL('https://site.com')
);
npm install validator
Пример:
import validator from 'validator';
export default function Home() {
const valid = validator.isEmail(
'admin@example.com'
);
return (
<div>{String(valid)}</div>
);
}
npm install validator
import { Injectable } from '@nestjs/common';
import validator from 'validator';
@Injectable()
export class UserService {
validateEmail(email: string): boolean {
return validator.isEmail(email);
}
}
Validator.js содержит не только валидаторы, но и функции очистки данных.
import escape from 'validator/lib/escape';
import trim from 'validator/lib/trim';
Пример:
const text = ' <script>alert(1)</script> ';
const cleaned = trim(
escape(text)
);
console.log(cleaned);
Результат:
<script>alert(1)</script>
После установки можно проверить наличие пакета:
npm list validator
Пример результата:
project
└── validator@13.15.15
npm update validator
npm install validator@13.15.15
npm uninstall validator
yarn remove validator
Cannot find module 'validator'Причины:
node_modules.Решение:
npm install validator
SyntaxError: Cannot use import statement outside a moduleПричина — Node.js работает в режиме CommonJS.
Решения:
requireconst validator = require('validator');
{
"type": "module"
}
Неправильно:
import { isEmail } from 'validator';
В некоторых окружениях такой импорт может работать некорректно.
Надёжный вариант:
import isEmail from 'validator/lib/isEmail';
import validator from 'validator';
const user = {
email: 'admin@example.com',
password: 'Qwerty123!'
};
const emailValid = validator.isEmail(user.email);
const passwordValid = validator.isStrongPassword(
user.password
);
if (emailValid && passwordValid) {
console.log('Данные корректны');
} else {
console.log('Ошибка валидации');
}
project/
│
├── node_modules/
├── package.json
├── package-lock.json
└── index.js
{
"name": "validator-project",
"version": "1.0.0",
"type": "module",
"dependencies": {
"validator": "^13.15.15"
}
}
import validator from 'validator';
console.log(
validator.isEmail('test@mail.com')
);
node index.js