This commit is contained in:
Adrian Hopek
2022-05-17 11:38:16 +02:00
parent 45510a898b
commit d2babab7a0
17 changed files with 596 additions and 110 deletions

View File

@@ -20,19 +20,21 @@ class ResumeRequest extends FormRequest
"education.*.school" => ["required"],
"education.*.degree" => ["required"],
"education.*.fieldOfStudy" => ["required"],
"education.*.startDate" => ["required", "date_format:Y-m-d"],
"education.*.endDate" => ["required", "date_format:Y-m-d", "after:education.*.startDate"],
"education.*.startDate" => ["required", "date_format:m/Y"],
"education.*.current" => ["required", "boolean"],
"education.*.endDate" => ["required_if:education.*.current,false", "nullable", "date_format:m/Y", "after:education.*.startDate"],
"languages.*.name" => ["required", "distinct"],
"languages.*.level" => ["required", Rule::in(1, 2, 3, 4, 5, 6)],
"technologies.*.name" => ["required", "exists:technologies,name", "distinct"],
"technologies.*.name" => ["required", "distinct"],
"technologies.*.level" => ["required", Rule::in(1, 2, 3, 4, 5)],
"projects.*.description" => ["required"],
"projects.*.technologies" => ["array", "min:1", "exists:technologies,name", "distinct"],
"projects.*.startDate" => ["required", "date_format:Y-m-d"],
"projects.*.endDate" => ["required", "date_format:Y-m-d", "after:projects.*.startDate"],
"projects.*.technologies" => ["array", "min:1", "distinct"],
"projects.*.startDate" => ["required", "date_format:m/Y"],
"projects.*.current" => ["required", "boolean"],
"projects.*.endDate" => ["required_if:projects.*.current,false", "nullable", "date_format:m/Y", "after:projects.*.startDate"],
"projects.*.tasks" => ["required"],
];
}

View File

@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace Toby\Infrastructure\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class TechnologyRequest extends FormRequest
{
public function rules(): array
{
return [
"name" => [
"required",
Rule::unique("technologies", "name")->ignore($this->technology),
"max:255",
],
];
}
public function data(): array
{
return [
"name" => $this->get("name"),
];
}
}