mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-01 00:44:35 -04:00
Handle dynamic fields on backend
This commit is contained in:
parent
166e27c7bd
commit
61eddbb755
@ -25,15 +25,25 @@ class RegisterRequest extends FormRequest
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function rules()
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [];
|
||||||
'first_name' => ['required', 'string', 'max:255'],
|
|
||||||
'last_name' => ['required', 'string', 'max:255'],
|
foreach ($this->company()->client_registration_fields as $field) {
|
||||||
'phone' => ['required', 'string', 'max:255'],
|
if ($field['required']) {
|
||||||
'email' => ['required', 'string', 'email:rfc,dns', 'max:255'],
|
$rules[$field['key']] = ['required'];
|
||||||
'password' => ['required', 'string', 'min:6', 'confirmed'],
|
}
|
||||||
];
|
}
|
||||||
|
|
||||||
|
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) {
|
if ($this->company()->settings->client_portal_terms || $this->company()->settings->client_portal_privacy_policy) {
|
||||||
$rules['terms'] = ['required'];
|
$rules['terms'] = ['required'];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user