Biz*_*v B 3 php validation laravel laravel-4 laravel-validation
对于更新配置文件页面
我用这条路线作为
Route::get('editdriver/{data}', 'DriverController@EditDriver');
Run Code Online (Sandbox Code Playgroud)
在我使用验证后的控制器中,
return Redirect::to('editdriver/'.$data)->withInput()->withErrors($validation->messages());
Run Code Online (Sandbox Code Playgroud)
所以,网址将是
如果我清空了所需的值rule
并按提交表单,
它显示带有验证消息的旧数据.
我需要的是,它不应该显示来自db的旧值.
我甚至试过了.,
return Redirect::back()->withErrors($validation->messages());
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ??
在控制器中我有
public function EditDriver($data=NULL)
{
$editvehicle=$data;
$DriverDetails = DriverModel::where('DriverId', $editvehicle)->get()->toArray();
return View::make('home/editdriver')->with('DriverDetails', $DriverDetails);
}
Run Code Online (Sandbox Code Playgroud)
在我看来
$("#Firstname").val("<?php echo $DriverDetails[0]['Firstname']?>");
Run Code Online (Sandbox Code Playgroud)
并从jquery显示为html
{{ Form::text('Firstname',null, array('id'=> 'Firstname')) }}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么你使用jQuery来填写你的表单 - 这没有任何意义,你应该删除该代码.
您只需要这一行代码:
{{ Form::text('Firstname', Input::old('Firstname', $DriverDetails[0]['Firstname']), array('id'=> 'Firstname')) }}
Run Code Online (Sandbox Code Playgroud)
使用Input::old($DriverDetails[0]['Firstname'])
将使用您的数据库值预填充初始表单 - 但如果存在验证错误,则会使用任何"输入"值填写表单
并确认 - 您的原始退货声明看起来是正确的:
return Redirect::to('editdriver/'.$data)->withInput()->withErrors($validation->messages());
Run Code Online (Sandbox Code Playgroud)