90 lines
2.8 KiB
PHP
90 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace app\common\validate;
|
|
|
|
use think\Validate;
|
|
|
|
class InvRequisitionValidate extends Validate
|
|
{
|
|
// 规则
|
|
protected $rule = [
|
|
'applicant_id' => 'number',
|
|
'borrow_reason' => 'require|max:255',
|
|
'use_start_date' => 'require|date',
|
|
'use_end_date' => 'date',
|
|
'items' => 'require|array',
|
|
'items.*.item_id' => 'require|number',
|
|
'items.*.request_qty' => 'require|number|gt:0',
|
|
// 扫码领取规则
|
|
'item_id' => 'require|integer|gt:0',
|
|
'qty' => 'require|integer|gt:0',
|
|
// 管理员代领规则
|
|
'target_user_id' => 'integer|gt:0',
|
|
'target_user_ids' => 'array',
|
|
'target_user_ids.*' => 'integer|gt:0',
|
|
];
|
|
|
|
// 提示
|
|
protected $message = [
|
|
'applicant_id.number' => '申请人格式错误',
|
|
'borrow_reason.require' => '领用事由不能为空',
|
|
'borrow_reason.max' => '领用事由最多不能超过255个字符',
|
|
'use_start_date.require' => '使用开始日期不能为空',
|
|
'use_start_date.date' => '使用开始日期格式错误',
|
|
'use_end_date.date' => '预计归还日期格式错误',
|
|
'items.require' => '申请物品明细不能为空',
|
|
'items.array' => '申请物品明细格式错误',
|
|
'items.*.item_id.require' => '物品ID不能为空',
|
|
'items.*.item_id.number' => '物品ID格式错误',
|
|
'items.*.request_qty.require' => '申请数量不能为空',
|
|
'items.*.request_qty.number' => '申请数量格式错误',
|
|
'items.*.request_qty.gt' => '申请数量必须大于0',
|
|
'item_id.require' => '物品ID不能为空',
|
|
'item_id.integer' => '物品ID必须为整数',
|
|
'item_id.gt' => '物品ID必须大于0',
|
|
'qty.require' => '领取数量不能为空',
|
|
'qty.integer' => '领取数量必须为整数',
|
|
'qty.gt' => '领取数量必须大于0',
|
|
'target_user_id.require' => '代领用户不能为空',
|
|
];
|
|
|
|
// 场景
|
|
protected $scene = [
|
|
'store' => [
|
|
'applicant_id',
|
|
'borrow_reason',
|
|
'use_start_date',
|
|
'use_end_date',
|
|
'items'
|
|
],
|
|
|
|
'update' => [
|
|
'applicant_id',
|
|
'borrow_reason',
|
|
'use_start_date',
|
|
'use_end_date',
|
|
'items'
|
|
],
|
|
|
|
'apply' => [
|
|
'applicant_id',
|
|
'borrow_reason',
|
|
'use_start_date',
|
|
'use_end_date',
|
|
'items'
|
|
],
|
|
|
|
'qrClaim' => [
|
|
'item_id',
|
|
'qty',
|
|
],
|
|
|
|
'proxyClaim' => [
|
|
'item_id',
|
|
'qty',
|
|
'target_user_id',
|
|
'target_user_ids',
|
|
'borrow_reason',
|
|
],
|
|
];
|
|
} |