44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace plugin\produce\app\validate;
|
||
|
|
|
||
|
|
use core\base\BaseValidate;
|
||
|
|
use Illuminate\Validation\Rule;
|
||
|
|
use plugin\produce\app\model\Process;
|
||
|
|
|
||
|
|
class ProcessValidate extends BaseValidate
|
||
|
|
{
|
||
|
|
public function rules(): array
|
||
|
|
{
|
||
|
|
$id = request()->route?->param('id');
|
||
|
|
|
||
|
|
return [
|
||
|
|
'process_code' => ['required', 'max:50', Rule::unique(Process::class, 'process_code')->ignore($id, 'id')],
|
||
|
|
'process_name' => ['required', 'max:100'],
|
||
|
|
'description' => ['nullable', 'max:65535'],
|
||
|
|
'sort' => ['nullable', 'integer', 'min:0'],
|
||
|
|
'status' => ['nullable', 'integer', 'in:0,1'],
|
||
|
|
];
|
||
|
|
}
|
||
|
|
|
||
|
|
protected array $message = [
|
||
|
|
'process_code.required' => '工序编码不能为空',
|
||
|
|
'process_code.max' => '工序编码不能超过50个字符',
|
||
|
|
'process_code.unique' => '工序编码已存在',
|
||
|
|
'process_name.required' => '工序名称不能为空',
|
||
|
|
'process_name.max' => '工序名称不能超过100个字符',
|
||
|
|
'description.max' => '工序描述内容过长',
|
||
|
|
'sort.integer' => '排序必须为整数',
|
||
|
|
'sort.min' => '排序不能小于0',
|
||
|
|
'status.integer' => '状态格式不正确',
|
||
|
|
'status.in' => '状态值不正确',
|
||
|
|
];
|
||
|
|
|
||
|
|
protected array $scene = [
|
||
|
|
'store' => ['process_code', 'process_name', 'description', 'sort', 'status'],
|
||
|
|
'update' => ['process_code', 'process_name', 'description', 'sort', 'status'],
|
||
|
|
];
|
||
|
|
}
|