我有这个页面根据id加载一个特定的记录,这个表单将允许用户修改记录这里是我的代码
@foreach($modData as $list)
@endforeach
<div class="gtdwn">
<h5>Edit Details</h5>
<h6>File Information</h6>
{{ Form::open(array('method' => 'PUT', 'action' => array('sample@savemodfile', $list->subcategoryid, $list->fileid))) }}
<h6>Filename : </h6>
{{ Form::text('eFile', $list->filename ) }}
<span>File type : {{ $list->filetype }} </span>
@if($list->filetype == 'ppt' || $list->filetype == 'pptx')
<img src="{{ asset('img/ico/pptico.PNG') }}" class="imgico">
@elseif($list->filetype == 'doc' || $list->filetype == 'docx')
<img src="{{ asset('img/ico/wordico.PNG') }}" class="imgico">
@elseif($list->filetype == 'pdf')
<img src="{{ asset('img/ico/pdfico.PNG') }}" class="imgico">
@elseif($list->filetype == 'xls' || $list->filetype == 'xlsx')
<img src="{{ asset('img/ico/excelico.PNG') }}" class="imgico">
@elseif($list->filetype == 'txt')
<img src="{{ asset('img/ico/txtico.PNG') }}" class="imgico">
@elseif($list->filetype == 'csv')
<img src="{{ asset('img/ico/csvico.PNG') }}" class="imgico">
@endif
<h6>Size : {{ $list->filesize }} </h6>
@if($list->confidential == 'true')
{{ Form::checkbox('conf', 'true', true , array('id' => 'test5')) }}
<label for="test5">confidential</label>
@else
{{ Form::checkbox('conf', 'true', null , array('id' => 'test5')) }}
<label for="test5">confidential</label>
@endif
{{Form::select('sCategory',[ $list->subcategoryid =>'CURRENT CATEGORY : ' . $list->subcategoryname . ' | ' . $list->maincategoryname] + $cats )}}
{{ Form::submit('save', array('class' => 'btn btn-primary defcolor')) }}
{{ Form::close()}}
<br>
</div>
到目前为止,当用户点击提交按钮时,它会正确加载数据
Route::put('modifyFile/{sid}/{id}' , array('as' => 'modfyFilesave', 'uses' => 'sample@savemodfile'));
我已经在我的表单中提供了id
但是当我进行验证时它到达我的控制器时它无法读取其中的数据
public function savemodfile($scid , $id)
{
$some = Input::get('eFile');
dd($some);
$rules = array(
'eFile' => 'required|min:2|max:250|unique:nsa_fileuploads,filename'
);
$messages = array(
'eFile.required' => 'Please provide a filename.',
'eFile.min' => 'Filename should have atleast 2 characters.',
'eFile.max' => 'Filename can only have maximum of 250 characters.',
'eFile.unique' => 'Filename already exist.'
);
$validator = Validator::make(Input::all(), $rules , $messages);
if ($validator->fails())
{
dd('some errors');
}
else
{
dd('okay');
}
}
我尝试从Form::text('eFile',$list->filename)
转储值,我从视图中获取了值,但是当我在验证器中使用它时,即使只是必需的,它也总是失败。知道我的代码有什么问题吗?提前谢谢!
答案 0 :(得分:1)
用此
替换您的表单{{ Form::open(array('files'=>true, 'action' => array('sample@savemodfile', $list->subcategoryid, $list->fileid))) }}
在您的表单中添加此行&#39;文件&#39; =&GT;真的
希望这段代码可以帮到你!!
答案 1 :(得分:1)
您在from中提供了一个控制器方法作为您的操作。这实际上有用吗?尝试更改此内容:
'action' => array('sample@savemodfile', $list->subcategoryid, $list->fileid)
到
'action' => route('modfyFilesave',
array('sid' => $list->subcategoryid, 'id' => $list->fileid))