laravel 验证规则 修改和添加 判断是否是修改还是添加
/**
* 自定义验证规则rules
*
* @return array
*/
public function rules()
{
return [
'name' => 'unique:products,name',
'sort' => 'required|',
'body' => 'required|min:20',
'price' => 'required',
'thumb' => 'required',
'status' => 'boolean',
];
return $rules;
}
在这里验证了 name 是否重复, 在添加产品的时候做验证
但在修改产品的时候 也用到了该验证,想知道,修改产品的 产品名称 不变 会提醒产品名称重复了,
这里可以做判断吗 ?
求大神指导一下啊
咸鱼人蒋某
9 years, 4 months ago
Answers
php
/** * 自定义验证规则rules * * @return array */ public function rules() { $rules = [ 'sort' => 'required|', 'body' => 'required|min:20', 'price' => 'required', 'thumb' => 'required', 'status' => 'boolean', ]; //根据RESTful请求的方法来判断是新建还是更新,如果是PUT请求的话 if($this->method() === "PUT"){ // 更新产品信息的时候,你在后面可以限制一个id,这个时候如果name刚好在这个id里就不会提醒产品重复了 // $product = …… $rules['name'] = 'unique:products,name,id,'.$product->id; }else{ $rules['name'] = 'unique:products,name'; } return $rules; }
可以改成这样。
月夜.巫女
answered 9 years, 4 months ago