validator
Несложные и лёгкие WYSIWYG-редакторы Редактор Почему «лёгкий / простой» / когда хорошо подходит pell Очень компактный (≈ 1.4 kB), без зависимостей — буквально «textarea → WYSIWYG». https://github.com/jaredreich/pell?utm_source=chatgpt.com Wysi Минимум зависимостей, ES6‑реализация, ~12 kB gzipped, легко инициализируется на textarea, чистый HTML-вывод. https://wysi.js.org/ Lite Editor Простая настройка, работает прямо через CDN, подходит для лёгких CMS или комментариев. https://appleple.github.io/lite-editor/?utm_source=chatgpt.com SunEditor Немного «тяжелее», но всё ещё лёгкий и гибкий, поддержка базового форматирования, изображений, таблиц и пр. Без внешних зависимостей. https://github.com/JiHong88/suneditor?utm_source=chatgpt.com
Поле email должно быть корректным email
array(2) {
["email"]=>
array(1) {
[0]=>
string(63) "Поле email должно быть корректным email"
}
["password"]=>
array(2) {
[0]=>
string(40) "Поле password обязательно"
[1]=>
string(74) "Поле password должно быть не менее 6 символов"
}
}
array(2) {
["name"]=>
string(3) "Art"
["email"]=>
string(15) "admin@sshootcom"
}
🔹 Примеры использования
1️⃣ В контроллере
use Core\Validator;
public function register()
{
$data = $_POST;
$rules = [
'name' => 'required|min:3|max:50',
'email' => 'required|email|max:100',
'password' => 'required|min:6|max:255'
];
$validator = new Validator();
if (!$validator->validate($data, $rules)) {
// Возврат ошибок во View
return $this->view('register', [
'errors' => $validator->getErrors(),
'old' => $data
]);
}
// Данные валидны → сохраняем пользователя
$this->userModel->create($data);
return $this->redirect('/success');
}
2️⃣ В модели (например проверка email перед сохранением)
use Core\Validator;
public function saveUser(array $data)
{
$validator = new Validator();
if (!$validator->validate($data, ['email' => 'required|email'])) {
return $validator->getErrors();
}
// Сохраняем в БД
$this->db->insert('users', $data);
return true;
}
3️⃣ Во view
<?php if(!empty($errors['email'])): ?>
<?= implode(', ', $errors['email']) ?>
<?php endif; ?>
<input type="text" name="email" value="<?= htmlspecialchars($old['email'] ?? '') ?>">
🔹 Преимущества этой версии
🔹 Поддерживает строки с правилами, легко расширять (required|min|max|email|regex).
🔹 Чёткие и понятные сообщения об ошибках.
🔹 Можно использовать в контроллере, модели или сервисах.
🔹 Лаконичный и универсальный, легко интегрировать с твоим фреймворком.