43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Customer;
|
|
|
|
use Illuminate\Validation\Rule;
|
|
use Illuminate\Validation\Rules\Exists;
|
|
use Modules\Common\Http\Requests\BaseFormRequest;
|
|
use Modules\SystemTool\Models\SysFileModel;
|
|
|
|
/**
|
|
* 客户等级 创建/编辑 验证
|
|
*/
|
|
class CustomerLevelFormRequest extends BaseFormRequest
|
|
{
|
|
protected $stopOnFirstFailure = true;
|
|
|
|
public function rules(): array
|
|
{
|
|
$unique = Rule::unique('customer_level', 'name');
|
|
if ($this->isUpdate()) {
|
|
$unique = $unique->ignore($this->route('id'));
|
|
}
|
|
|
|
return [
|
|
'name' => ['required', 'string', 'max:50', $unique],
|
|
'sort' => 'nullable|integer',
|
|
'status' => 'nullable|integer|in:0,1',
|
|
'icon' => ['nullable', 'integer', new Exists(SysFileModel::class, 'id')],
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'name.required' => '等级名称不能为空',
|
|
'name.max' => '等级名称最长 50 个字符',
|
|
'name.unique' => '等级名称已存在',
|
|
'status.in' => '状态值不正确',
|
|
'icon.exists' => '请重新上传图片'
|
|
];
|
|
}
|
|
}
|