Skip to content

Commit 404ef07

Browse files
committed
fix: validation and migration for clients
1 parent 2306f26 commit 404ef07

File tree

4 files changed

+80
-38
lines changed

4 files changed

+80
-38
lines changed

app/Http/Requests/Backend/ClientRequest.php

+13-13
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@ public function rules(): array
1515
{
1616
return [
1717
'name' => ['required', 'string'],
18-
'tin' => ['required', 'string'],
19-
'nid' => ['required', 'string', 'max:13'],
20-
'circle' => ['required', 'string'],
21-
'zone' => ['required', 'string'],
22-
'dob' => ['required', 'date'],
18+
'ref_no' => ['required', 'string'],
19+
'tin' => ['nullable', 'string'],
20+
'nid' => ['nullable', 'string', 'max:13'],
21+
'circle' => ['nullable', 'string'],
22+
'zone' => ['nullable', 'string'],
23+
'dob' => ['nullable', 'date'],
2324
'phone' => ['nullable', 'string'],
2425
'email' => ['nullable', 'email'],
25-
'taxpayer_status' => ['required', 'string'],
26+
'taxpayer_status' => ['nullable', 'string'],
2627
'special_benefits' => ['nullable', 'string'],
27-
'father_name' => ['required', 'string'],
28-
'mother_name' => ['required', 'string'],
29-
'company_name' => ['required', 'string'],
28+
'father_name' => ['nullable', 'string'],
29+
'mother_name' => ['nullable', 'string'],
30+
'company_name' => ['nullable', 'string'],
3031
'spouse_name' => ['nullable', 'string'],
3132
'spouse_tin' => ['nullable', 'string', 'max:13'],
32-
'present_address' => ['required', 'string'],
33-
'permanent_address' => ['required', 'string'],
34-
'nature_of_business' => ['required', 'string'],
35-
'ref_no' => ['required', 'string'],
33+
'present_address' => ['nullable', 'string'],
34+
'permanent_address' => ['nullable', 'string'],
35+
'nature_of_business' => ['nullable', 'string'],
3636
];
3737
}
3838
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
return new class extends Migration
8+
{
9+
/**
10+
* Run the migrations.
11+
*/
12+
public function up(): void
13+
{
14+
Schema::table('clients', function(Blueprint $table){
15+
$table->string('tin')->nullable()->change();
16+
$table->string('nid')->nullable()->change();
17+
$table->string('circle')->nullable()->change();
18+
$table->string('zone')->nullable()->change();
19+
$table->date('dob')->nullable()->change();
20+
$table->string('phone')->nullable()->change();
21+
$table->string('email')->nullable()->change();
22+
$table->string('taxpayer_status')->nullable()->change();
23+
$table->longText('special_benefits')->nullable()->change();
24+
$table->string('father_name')->nullable()->change();
25+
$table->string('mother_name')->nullable()->change();
26+
$table->string('company_name')->nullable()->change();
27+
$table->string('spouse_name')->nullable()->change();
28+
$table->string('spouse_tin')->nullable()->change();
29+
$table->longText('present_address')->nullable()->change();
30+
$table->longText('permanent_address')->nullable()->change();
31+
$table->string('nature_of_business')->nullable()->change();
32+
});
33+
}
34+
35+
/**
36+
* Reverse the migrations.
37+
*/
38+
public function down(): void
39+
{
40+
//
41+
}
42+
};

resources/views/backend/client/create-client.blade.php

+12-12
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ class="btn-sm btn-success fw-bold mb-2">Demo Excel</x-backend.ui.button>
1717
</x-backend.form.text-input>
1818
</div>
1919
<div class="col-md-4 col-sm-6">
20-
<x-backend.form.text-input label="Client NID" required type="number" name="nid">
20+
<x-backend.form.text-input label="Client NID" type="number" name="nid">
2121
</x-backend.form.text-input>
2222
</div>
2323

2424
<div class="col-md-4 col-sm-4">
25-
<x-backend.form.text-input label="Tin" type="text" name="tin" required>
25+
<x-backend.form.text-input label="Tin" type="text" name="tin">
2626
</x-backend.form.text-input>
2727
</div>
2828
<div class="col-md-4 col-sm-6">
29-
<x-backend.form.text-input label="Date Of Birth" type="date" name="dob" required>
29+
<x-backend.form.text-input label="Date Of Birth" type="date" name="dob">
3030
</x-backend.form.text-input>
3131
</div>
3232
<div class="col-md-4 col-sm-6">
@@ -38,26 +38,26 @@ class="btn-sm btn-success fw-bold mb-2">Demo Excel</x-backend.ui.button>
3838
</x-backend.form.text-input>
3939
</div>
4040
<div class="col-md-4 col-sm-6">
41-
<x-backend.form.text-input label="Taxpayer Status" type="text" name="taxpayer_status" required>
41+
<x-backend.form.text-input label="Taxpayer Status" type="text" name="taxpayer_status">
4242
</x-backend.form.text-input>
4343
</div>
4444

4545
<div class="col-md-4 col-sm-6">
46-
<x-backend.form.text-input label="Father's Name" type="text" name="father_name" required>
46+
<x-backend.form.text-input label="Father's Name" type="text" name="father_name">
4747
</x-backend.form.text-input>
4848
</div>
4949

5050
<div class="col-md-4 col-sm-6">
51-
<x-backend.form.text-input label="Mother's Name" type="text" name="mother_name" required>
51+
<x-backend.form.text-input label="Mother's Name" type="text" name="mother_name">
5252
</x-backend.form.text-input>
5353
</div>
5454

5555
<div class="col-md-4 col-sm-6">
56-
<x-backend.form.text-input label="Company Name" type="text" name="company_name" required>
56+
<x-backend.form.text-input label="Company Name" type="text" name="company_name">
5757
</x-backend.form.text-input>
5858
</div>
5959
<div class="col-md-4 col-sm-6">
60-
<x-backend.form.text-input label="Nature Of Business" type="text" name="nature_of_business" required>
60+
<x-backend.form.text-input label="Nature Of Business" type="text" name="nature_of_business">
6161
</x-backend.form.text-input>
6262
</div>
6363

@@ -71,7 +71,7 @@ class="btn-sm btn-success fw-bold mb-2">Demo Excel</x-backend.ui.button>
7171
</div>
7272

7373
<div class="col-md-4 col-sm-4">
74-
<x-backend.form.text-input label="Zone" type="text" name="zone" required>
74+
<x-backend.form.text-input label="Zone" type="text" name="zone">
7575
</x-backend.form.text-input>
7676
</div>
7777
<div class="col-md-4 col-sm-4">
@@ -80,7 +80,7 @@ class="btn-sm btn-success fw-bold mb-2">Demo Excel</x-backend.ui.button>
8080
</div>
8181

8282
<div class="col-md-4 col-sm-4">
83-
<x-backend.form.text-input label="Circle" type="text" name="circle" required>
83+
<x-backend.form.text-input label="Circle" type="text" name="circle">
8484
</x-backend.form.text-input>
8585
</div>
8686

@@ -90,12 +90,12 @@ class="btn-sm btn-success fw-bold mb-2">Demo Excel</x-backend.ui.button>
9090
</x-form.ck-editor>
9191
</div>
9292
<div class="col-md-6 col-lg-4">
93-
<x-form.text-area label="Permanent Address" type="text" name="permanent_address" required>
93+
<x-form.text-area label="Permanent Address" type="text" name="permanent_address">
9494
</x-form.text-area>
9595
</div>
9696

9797
<div class="col-md-6 col-lg-4">
98-
<x-form.text-area label="Present Address" type="text" name="present_address" required>
98+
<x-form.text-area label="Present Address" type="text" name="present_address">
9999
</x-form.text-area>
100100
</div>
101101

resources/views/backend/client/edit-client.blade.php

+13-13
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ class="btn-sm btn-info fw-bold mb-2">Back</x-backend.ui.button>
1818
</x-backend.form.text-input>
1919
</div>
2020
<div class="col-md-4 col-sm-6">
21-
<x-backend.form.text-input label="Client NID" type="number" name="nid" :value="$client->nid" required>
21+
<x-backend.form.text-input label="Client NID" type="number" name="nid" :value="$client->nid" >
2222
</x-backend.form.text-input>
2323
</div>
2424
<div class="col-md-4 col-sm-4">
25-
<x-backend.form.text-input label="Tin" type="text" name="tin" :value="$client->tin" required>
25+
<x-backend.form.text-input label="Tin" type="text" name="tin" :value="$client->tin" >
2626
</x-backend.form.text-input>
2727
</div>
2828
<div class="col-md-4 col-sm-6">
2929
<x-backend.form.text-input label="Date Of Birth" type="date" name="dob"
30-
:value="$client->dob" required>
30+
:value="$client->dob" >
3131
</x-backend.form.text-input>
3232
</div>
3333
<div class="col-md-4 col-sm-6">
@@ -40,30 +40,30 @@ class="btn-sm btn-info fw-bold mb-2">Back</x-backend.ui.button>
4040
</div>
4141
<div class="col-md-4 col-sm-6">
4242
<x-backend.form.text-input label="Taxpayer Status" type="text" name="taxpayer_status"
43-
:value="$client->taxpayer_status" required>
43+
:value="$client->taxpayer_status" >
4444
</x-backend.form.text-input>
4545
</div>
4646

4747
<div class="col-md-4 col-sm-6">
4848
<x-backend.form.text-input label="Father's Name" type="text" name="father_name"
49-
:value="$client->father_name" required>
49+
:value="$client->father_name" >
5050
</x-backend.form.text-input>
5151
</div>
5252

5353
<div class="col-md-4 col-sm-6">
5454
<x-backend.form.text-input label="Mother's Name" type="text" name="mother_name"
55-
:value="$client->mother_name" required>
55+
:value="$client->mother_name" >
5656
</x-backend.form.text-input>
5757
</div>
5858

5959
<div class="col-md-4 col-sm-6">
6060
<x-backend.form.text-input label="Company Name" type="text" name="company_name"
61-
:value="$client->company_name" required>
61+
:value="$client->company_name" >
6262
</x-backend.form.text-input>
6363
</div>
6464
<div class="col-md-4 col-sm-6">
6565
<x-backend.form.text-input label="Nature Of Business" type="text" name="nature_of_business"
66-
:value="$client->nature_of_business" required>
66+
:value="$client->nature_of_business" >
6767
</x-backend.form.text-input>
6868
</div>
6969

@@ -77,16 +77,16 @@ class="btn-sm btn-info fw-bold mb-2">Back</x-backend.ui.button>
7777
</div>
7878

7979
<div class="col-md-4 col-sm-4">
80-
<x-backend.form.text-input label="Zone" type="text" name="zone" :value="$client->zone" required>
80+
<x-backend.form.text-input label="Zone" type="text" name="zone" :value="$client->zone" >
8181
</x-backend.form.text-input>
8282
</div>
8383
<div class="col-md-4 col-sm-4">
84-
<x-backend.form.text-input label="Ref. No." required type="text" name="ref_no" :value="$client->ref_no">
84+
<x-backend.form.text-input label="Ref. No." type="text" name="ref_no" required :value="$client->ref_no">
8585
</x-backend.form.text-input>
8686
</div>
8787

8888
<div class="col-md-4 col-sm-4">
89-
<x-backend.form.text-input label="Circle" type="text" name="circle" :value="$client->circle" required>
89+
<x-backend.form.text-input label="Circle" type="text" name="circle" :value="$client->circle" >
9090
</x-backend.form.text-input>
9191
</div>
9292

@@ -98,13 +98,13 @@ class="btn-sm btn-info fw-bold mb-2">Back</x-backend.ui.button>
9898
</x-form.ck-editor>
9999
</div>
100100
<div class="col-md-6 col-lg-4">
101-
<x-form.text-area label="Permanent Address" type="text" name="permanent_address" required>
101+
<x-form.text-area label="Permanent Address" type="text" name="permanent_address" >
102102
{!! $client->permanent_address !!}
103103
</x-form.text-area>
104104
</div>
105105

106106
<div class="col-md-6 col-lg-4">
107-
<x-form.text-area label="Present Address" type="text" name="present_address" required>
107+
<x-form.text-area label="Present Address" type="text" name="present_address" >
108108
{!! $client->present_address !!}
109109
</x-form.text-area>
110110
</div>

0 commit comments

Comments
 (0)