fix: 어음 등록 중복번호 검증 추가
- StoreBillRequest에 tenant scope unique 검증 규칙 추가
- lang/ko/error.php에 bill.duplicate_number 에러 메시지 추가
- SAM 표준 패턴 적용 (app('tenant_id'))
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Requests\V1\Bill;
|
namespace App\Http\Requests\V1\Bill;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class StoreBillRequest extends FormRequest
|
class StoreBillRequest extends FormRequest
|
||||||
{
|
{
|
||||||
@@ -13,8 +14,17 @@ public function authorize(): bool
|
|||||||
|
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
|
$tenantId = app('tenant_id') ?? 0;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'bill_number' => ['nullable', 'string', 'max:50'],
|
'bill_number' => [
|
||||||
|
'nullable',
|
||||||
|
'string',
|
||||||
|
'max:50',
|
||||||
|
Rule::unique('bills', 'bill_number')->where(function ($query) use ($tenantId) {
|
||||||
|
return $query->where('tenant_id', $tenantId);
|
||||||
|
}),
|
||||||
|
],
|
||||||
'bill_type' => ['required', 'string', 'in:received,issued'],
|
'bill_type' => ['required', 'string', 'in:received,issued'],
|
||||||
'client_id' => ['nullable', 'integer', 'exists:clients,id'],
|
'client_id' => ['nullable', 'integer', 'exists:clients,id'],
|
||||||
'client_name' => ['nullable', 'string', 'max:100'],
|
'client_name' => ['nullable', 'string', 'max:100'],
|
||||||
@@ -37,6 +47,7 @@ public function rules(): array
|
|||||||
public function messages(): array
|
public function messages(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'bill_number.unique' => __('error.bill.duplicate_number'),
|
||||||
'bill_type.required' => __('validation.required', ['attribute' => __('validation.attributes.bill_type')]),
|
'bill_type.required' => __('validation.required', ['attribute' => __('validation.attributes.bill_type')]),
|
||||||
'bill_type.in' => __('validation.in', ['attribute' => __('validation.attributes.bill_type')]),
|
'bill_type.in' => __('validation.in', ['attribute' => __('validation.attributes.bill_type')]),
|
||||||
'amount.required' => __('validation.required', ['attribute' => __('validation.attributes.amount')]),
|
'amount.required' => __('validation.required', ['attribute' => __('validation.attributes.amount')]),
|
||||||
|
|||||||
@@ -289,6 +289,11 @@
|
|||||||
'recipient_email_required' => '수신자 이메일이 필요합니다.',
|
'recipient_email_required' => '수신자 이메일이 필요합니다.',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
// 어음 관리 관련
|
||||||
|
'bill' => [
|
||||||
|
'duplicate_number' => '이미 존재하는 어음번호입니다.',
|
||||||
|
],
|
||||||
|
|
||||||
// 계정 관리 관련
|
// 계정 관리 관련
|
||||||
'account' => [
|
'account' => [
|
||||||
'invalid_password' => '비밀번호가 일치하지 않습니다.',
|
'invalid_password' => '비밀번호가 일치하지 않습니다.',
|
||||||
|
|||||||
Reference in New Issue
Block a user