控制器 GoodsController.php
public function store(Request $request)
{
// $input = Input::except('_token');
// $input['art_time'] = time();
$input = $request->all();
$rules = [
'title' => 'required',
'price' => 'required|numeric',
'brand' => 'required',
'sum' => 'required|numeric',
'weight' => 'required|numeric',
'number' => 'required',
'integral' => 'required|numeric',
'keywords' => 'required',
'description' => 'required',
'contents' => 'required',
];
$message = [
'title.required' => '请输入商品名称!',
'price' => [
'required' => '请输入商品价格!',
'numeric' => '商品价格必须为数字',
],
'brand.required' => '请输入商品隶属那个品牌',
'sum' => [
'required' => '请输入商品价格!',
'numeric' => '商品价格必须为数字',
],
'weight' => [
'required' => '请输入商品重量!',
'numeric' => '商品价格必须为数字',
],
'number.required' => '请输入商品编号!',
'integral' => [
'required' => '请输入商品重量!',
'numeric' => '商品价格必须为数字',
],
'keywords.required' => '请输入商品的所属关键词!',
'description.required' => '请输入商品的基本信息描述!',
'contents.required' => '请输入商品相关内容信息!',
];
$validator = Validator::make($input, $rules, $message);
if ($validator->passes()) {
$goods = Goods::create(array_merge($request->all(), [
'imgpath' => '/images/default_goods.png',
$input['shelftime'] = Carbon::now(),
'sale' => '5',
'online' => 'on'
]));
if ($goods) {
return redirect('admin/goods');
} else {
return back()->with('errors', '商品添加失败,请稍后重试!');
}
} else {
return back()->withErrors($validator);
}
}
模板create.blade.php
@if(count($errors)>0)
<div class="mark">
@if(is_object($errors))
@foreach($errors->all() as $error)
<p>{{$error}}</p>
@endforeach
@else
<p>{{$errors}}</p>
@endif
</div>
@endif
隐式扩展
默认情况下,被验证的属性如果没有提供或者验证规则为required而值为空,那么正常的验证规则,包括自定义扩展将不会执行。例如,unique规则将不会检验null值:
$rules = ['name' => 'unique'];
$input = ['name' => null];
Validator::make($input, $rules)->passes(); // true
http://laravelacademy.org/post/195.html
https://docs.golaravel.com/docs/4.2/validation/