diff --git a/app/Http/Requests/ClientPortal/RegisterRequest.php b/app/Http/Requests/ClientPortal/RegisterRequest.php
index 2286e31ea736..8b54ccc5488d 100644
--- a/app/Http/Requests/ClientPortal/RegisterRequest.php
+++ b/app/Http/Requests/ClientPortal/RegisterRequest.php
@@ -25,15 +25,25 @@ class RegisterRequest extends FormRequest
*
* @return array
*/
- public function rules()
+ public function rules(): array
{
- $rules = [
- 'first_name' => ['required', 'string', 'max:255'],
- 'last_name' => ['required', 'string', 'max:255'],
- 'phone' => ['required', 'string', 'max:255'],
- 'email' => ['required', 'string', 'email:rfc,dns', 'max:255'],
- 'password' => ['required', 'string', 'min:6', 'confirmed'],
- ];
+ $rules = [];
+
+ foreach ($this->company()->client_registration_fields as $field) {
+ if ($field['required']) {
+ $rules[$field['key']] = ['required'];
+ }
+ }
+
+ foreach ($rules as $field => $properties) {
+ if ($field === 'email') {
+ $rules[$field] = array_merge($rules[$field], ['email:rfc,dns', 'max:255']);
+ }
+
+ if ($field === 'password') {
+ $rules[$field] = array_merge($rules[$field], ['string', 'min:6', 'confirmed']);
+ }
+ }
if ($this->company()->settings->client_portal_terms || $this->company()->settings->client_portal_privacy_policy) {
$rules['terms'] = ['required'];
diff --git a/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php b/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php
deleted file mode 100644
index bdc4cf5343c0..000000000000
--- a/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
{{ ctrans('texts.personal_address') }}
-
-
- {{ ctrans('texts.enter_your_personal_address') }}
-
-
-
-
-
-
-
-
- @error('address1')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('address2')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('city')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('state')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('postal_code')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('country')
-
- {{ $message }}
-
- @enderror
-
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php b/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php
deleted file mode 100644
index 662c103e0fe5..000000000000
--- a/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php
+++ /dev/null
@@ -1,90 +0,0 @@
-
-{{ ctrans('texts.profile') }}
-
-
- {{ ctrans('texts.client_information_text') }}
-
-
-
-
-
-
-
-
-
-
-
- @error('first_name')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
-
-
-
- @error('last_name')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
-
-
-
- @error('email')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
-
-
-
- @error('phone')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
-
-
-
- @error('password')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
-
-
-
- @error('password_confirmation')
-
- {{ $message }}
-
- @enderror
-
-
-
-
\ No newline at end of file
diff --git a/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php b/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php
deleted file mode 100644
index 2d3109d61f3d..000000000000
--- a/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php
+++ /dev/null
@@ -1,88 +0,0 @@
-
-{{ ctrans('texts.shipping_address') }}
-
-
- {{ ctrans('texts.enter_your_shipping_address') }}
-
-
-
-
-
-
-
-
- @error('shipping_address1')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('shipping_address2')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('shipping_city')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('shipping_state')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('shipping_postal_code')
-
- {{ $message }}
-
- @enderror
-
-
-
-
- @error('country')
-
- {{ $message }}
-
- @enderror
-
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/includes/register/website.blade.php b/resources/views/portal/ninja2020/auth/includes/register/website.blade.php
deleted file mode 100644
index 90341a61fa5a..000000000000
--- a/resources/views/portal/ninja2020/auth/includes/register/website.blade.php
+++ /dev/null
@@ -1,32 +0,0 @@
-
-{{ ctrans('texts.website') }}
-
-
- {{ ctrans('texts.make_sure_use_full_link') }}
-
-
-
-
-
-
-
-
- @error('name')
-
- {{ $message }}
-
- @enderror
-
-
-
-
-
- @error('website')
-
- {{ $message }}
-
- @enderror
-
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/register.blade.php b/resources/views/portal/ninja2020/auth/register.blade.php
index cd4215f73ef3..7512c555a8fa 100644
--- a/resources/views/portal/ninja2020/auth/register.blade.php
+++ b/resources/views/portal/ninja2020/auth/register.blade.php
@@ -12,14 +12,90 @@