laravel4 Input::old ใช้คู่กับ validation error

ในกรณีที่ validation error และต้องการส่ง data กลับไปยัง form เพื่อแสดงทั้ง error และค่าเก่า (old input )
laravel มีคำสั่งมาให้ใช้ง่ายๆ โดยการทำดังนี้

if($validationError)
{
     return Redirect::to('/member/signup')->withErrors($message)->withInput(Input::except('password'));  
}

จากตัวอย่าง ถ้า validation error เราจะส่งค่า $message ที่ได้จาก laravel validation ด้วยคำสั่ง withErrors
และส่ง data ที่ post มาจาก form กลับไปยังหน้าฟอร์มที่ post มา ด้วยคำสั่ง withInput โดยจะไม่ส่งค่ากลับไปเฉพาะฟิลด์ password หรือถ้าต้องการส่งกลับทั้งหมด ใน argument ของ withInput ไม่ต้องใส่ค่าใดๆ

จากนั้นที่ views ก็จะสามารถเรียกใช้งาน old input ได้ เช่น

<input type="email" name="email" class="form-control" placeholder="Enter email" value="<?php echo Input::old('email'); ?>">

reference http://laravel.com/docs/requests#old-input

Related posts:

This entry was posted in laravel4. Bookmark the permalink.