50 lines
1.6 KiB
PHP
50 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Customer;
|
|
|
|
use Illuminate\Validation\Rule;
|
|
use Modules\Common\Http\Requests\BaseFormRequest;
|
|
|
|
/**
|
|
* 门店 创建/编辑 验证
|
|
*/
|
|
class StoreFormRequest extends BaseFormRequest
|
|
{
|
|
protected $stopOnFirstFailure = true;
|
|
|
|
public function rules(): array
|
|
{
|
|
$unique = Rule::unique('store', 'code');
|
|
if ($this->isUpdate()) {
|
|
$unique = $unique->ignore($this->route('id'));
|
|
}
|
|
|
|
return [
|
|
'name' => 'required|string|max:100',
|
|
'code' => ['required', 'string', 'max:50', $unique],
|
|
'level_id' => 'required|integer|exists:customer_level,id',
|
|
'contact' => 'nullable|string|max:50',
|
|
'phone' => 'nullable|string|max:20',
|
|
'address' => 'nullable|string|max:255',
|
|
'payment_cycle_days' => 'nullable|integer|min:0',
|
|
'status' => 'nullable|integer|in:0,1',
|
|
'remark' => 'nullable|string|max:255',
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'name.required' => '门店名称不能为空',
|
|
'name.max' => '门店名称最长 100 个字符',
|
|
'code.required' => '门店编码不能为空',
|
|
'code.unique' => '门店编码已存在',
|
|
'level_id.required' => '请选择客户等级',
|
|
'level_id.exists' => '客户等级不存在',
|
|
'payment_cycle_days.integer' => '回款周期必须为整数',
|
|
'payment_cycle_days.min' => '回款周期不能小于 0',
|
|
'status.in' => '状态值不正确',
|
|
];
|
|
}
|
|
}
|