Kotchasan Framework Documentation
Validator Class - ระบบตรวจสอบความถูกต้องของข้อมูล
Validator Class - ระบบตรวจสอบความถูกต้องของข้อมูล
คลาส Validator รวบรวมฟังก์ชันสำหรับตรวจสอบข้อมูล (Validation) ที่ครอบคลุมทั้งข้อมูลพื้นฐาน, ความปลอดภัยของไฟล์อัปโหลด, และการตรวจสอบโครงสร้าง Array ที่ซับซ้อน
Namespace
Kotchasan\Validatorหมวดหมู่การใช้งาน
1. การตรวจสอบข้อมูลทั่วไป (Basic Data Validation)
เมธอดเหล่านี้คืนค่า true หากข้อมูลถูกต้อง และ false หากไม่ถูกต้อง
email()
ตรวจสอบรูปแบบอีเมล
public static function email(string $email): boolurl()
ตรวจสอบรูปแบบ URL
public static function url(string $url): boolinteger() / float()
ตรวจสอบว่าเป็นตัวเลขจำนวนเต็มหรือทศนิยม
public static function integer(mixed $value): bool
public static function float(mixed $value): booldate()
ตรวจสอบวันที่ (Format: YYYY-MM-DD)
public static function date(string $date): booltime()
ตรวจสอบเวลา (Format: HH:MM หรือ HH:MM:SS)
public static function time(string $time): boolphone()
ตรวจสอบเบอร์โทรศัพท์ (อนุญาตเฉพาะตัวเลข, +, -, และช่องว่าง)
public static function phone(string $phone): boolusername()
ตรวจสอบ Username (อนุญาตตัวอักษรภาษาอังกฤษ, ตัวเลข, @, ., -, _)
public static function username(string $username): boolpassword()
ตรวจสอบความยาวรหัสผ่าน
public static function password(string $password, int $minLength = 8): bool2. ความปลอดภัยและการอัปโหลดไฟล์ (File Security)
isFileSafe()
ตรวจสอบความปลอดภัยของไฟล์ (MIME type และสแกนเนื้อหาไฟล์)
public static function isFileSafe(array $file, array $allowedMimes = [], bool $checkUpload = true): boolvalidateFile()
ตรวจสอบไฟล์อัปโหลดแบบละเอียด (Size, Extension, MIME type, Content)
public static function validateFile(array $file, array $allowedTypes = [], array $allowedMimes = [], int $maxSize = 0, bool $checkUpload = true): boolvalidateImage()
ตรวจสอบไฟล์รูปภาพแบบละเอียด (Dimension, Type, Content Scanning)
public static function validateImage(array $file, array $allowedTypes = ['jpg', ...], int $maxWidth = 0, int $maxHeight = 0, bool $checkUpload = true): array|boolคืนค่า: Array ข้อมูลรูปภาพ (width, height, mime) หากถูกต้อง หรือ false หากไม่ผ่าน
scanFileContent()
สแกนเนื้อหาไฟล์เพื่อหาโค้ดอันตราย (เช่น PHP Shell, Script Tags)
private static function scanFileContent(string $filePath): bool3. การตรวจสอบขั้นสูง (Advanced Validation)
pattern()
ตรวจสอบด้วย Regular Expression
public static function pattern(mixed $value, string $pattern): boolisArrayValid()
ตรวจสอบโครงสร้าง Array ตาม Schema ที่กำหนด (รองรับ Nested validation)
public static function isArrayValid(array $array, array $schema): boolตัวอย่าง Schema:
$schema = [
'username' => [
'required' => true,
'type' => 'string',
'validate' => ['min' => 5, 'username' => true]
],
'age' => [
'type' => 'int',
'validate' => ['between' => [18, 99]]
],
'contact' => [
'type' => 'array',
'schema' => [
'email' => ['validate' => ['email' => true]]
]
]
];
$valid = Validator::isArrayValid($data, $schema);csrf()
ตรวจสอบ CSRF Token
public static function csrf(string $token, string $sessionToken): boolขนาดไฟล์: 858 บรรทัด