app/Http/Requests/GoodsRequest.php
public function rules()
{
$id = $this->route ('good');
return [
'gname'=>'required|unique:goods,gname' ,
'description'=>'required',
'price'=>'required',
'content'=>'required',
'pics'=>'required',
// 在表单验证类的时候,如果使用方法来验证一个字段是否填写正确的时候,方法会自动接收到3个参数
//第一个参数是当前需要被验证的字段名称,
//第二个参数是被验证的字段的值
//第三个是用来设置闪存信息的对象
'category_id'=> function($attribute,$value,$fail){
if(in_array (null,$value)){
return $fail('商品分类不能为空');
}
return true;
}
,
'attrs'=>'required'
];
}
public function messages ()
{
return [
'gname.required'=>'商品的名称不能为空',
'gname.unique'=>'商品的名称不能重复',
'description.required'=>'商品的描述不能为空',
'price.required'=>'商品的价格不能为空',
'content.required'=>'商品的详情不能为空',
'pics.required'=>'商品的缩略图不能为空',
'attrs.required'=>'商品属性不能为空'
];
}
校验 sku_id
的第二个规则是一个闭包校验规则,这个闭包接受 3 个参数,分别是参数名、参数值和错误回调。在这个闭包里我们依次判断了用户提交的 SKU ID 是否存在、商品是否上架以及库存是否充足。