วิธีเปลี่ยนข้อความ validation ให้เป็นภาษาไทยใน Laravel 5.x
Laravel มีเครื่องมืออำนวยความสะดวกการ validation ฟอร์มต่างๆให้เบื้องต้น เราไม่ต้องมานั่งเขียนตรวจสอบเองให้วุ่นวายเหมือนแต่ก่อน แต่ข้อความที่แสดงเริ่มต้นจะเป็นภาษาอังกฤษ ซึ่งหากเป็นเว็บไซต์ไทยก็อาจจะไม่เหมาะสมนัก ดังนั้นเรามาดูวิธีเปลี่ยนข้อความที่แสดงเมื่อกรอกฟอร์มไม่ตรงกับเงื่อนไขให้เป็นภาษาไทยกันครับ
เริ่มต้นเลยให้เข้าไปที่ไฟล์ /config/app.php แล้วให้เปลี่ยนค่าเป็น
'locale' => 'th',
หลังจากนั้นให้เข้าไปที่โฟลเดอร์ resources/lang/ จะสังเกตได้ว่ามีโฟลเดอร์ en อยู่ในนั้น ให้เราสร้างโฟลเดอร์ th เพิ่มเข้าไป ทีนี้เราก็จะมีโฟลเดอร์ en และ th
ให้เรา copy ไฟล์ validation.php ในโฟลเดอร์ en แล้วนำไปวางไว้โฟลเดอร์ th ครับ ซึ้งเมื่อเราเปิดไฟล์ validation.php ขึ้นมาก็จะเป็นรายการข้อความ Validation Language โดยจะเป็น Array ซึ่งเราสามารถการแปลเป็นภาษาไทยที่นี่ได้เลยครับ เช่น
'required' => 'The :attribute field is required.',
แก้เป็น
'required' => 'โปรดระบุ:attribute',
ตัวที่เป็น :attribute จะเอาชื่อฟิลด์ input มาแสดง เช่น
<input type="text" name="email">
ก็จะแสดงเป็น
โปรดระบุemail
แล้วถ้าเราจะให้คำว่า “email” แสดงเป็น “อีเมล์” ทำอย่างไร ? สามารถทำโดยเพิ่มค่าดังนี้ครับ
'attributes' => [ 'email' => 'อีเมล์', 'password' => 'รหัสผ่าน', ],
ตัวอย่างด้านบนเพิ่ม password ไปอีกตัว หากมีหลายฟิดล์ก็จะเป็นลักษณะตามที่ได้กล่าวมา เวลาแสดงข้อความแบบเต็มจะเป็นดังนี้
โปรดระบุอีเมล์
ก็หวังว่าบทความนี้คงมีประโยชน์กับผู้ที่เริ่มใช้ laravel กันนะครับ