|string> */ public function rules(): array { return [ 'email' => ['required', 'string'], 'locale' => ['sometimes', 'string', Rule::in(config('app.supported_locales', ['fr', 'en']))], 'password' => ['required', 'string'], ]; } protected function prepareForValidation(): void { if ($this->has('locale')) { $this->merge([ 'locale' => $this->normalizeLocale((string) $this->input('locale')), ]); } } private function normalizeLocale(string $locale): string { $locale = strtolower(str_replace('_', '-', $locale)); return explode('-', $locale)[0]; } }