|string> */ public function rules(): array { return [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:users,email'], 'password' => ['required', 'confirmed', Password::defaults()], 'captcha' => ['required', 'string', 'max:4', new Captcha()], 'terms_of_service' => ['required', 'accepted'], 'privacy_policy' => ['required', 'accepted'], ]; } /** * Get custom messages for validator errors. * * @return array */ public function messages(): array { return [ 'name.required' => 'O nome é obrigatório.', 'name.max' => 'O nome não pode ultrapassar 255 caracteres.', 'email.required' => 'O e-mail é obrigatório.', 'email.email' => 'Informe um e-mail válido.', 'email.unique' => 'Este e-mail já está cadastrado.', 'password.required' => 'A senha é obrigatória.', 'password.confirmed' => 'A confirmação de senha não confere.', 'captcha.required' => 'O captcha é obrigatório.', 'captcha.size' => 'O captcha deve ter :size caracteres.', 'captcha' => 'O captcha informado está incorreto.', 'terms_of_service.accepted' => 'Você deve aceitar os Termos de Uso para continuar.', 'privacy_policy.accepted' => 'Você deve aceitar a Política de Privacidade para continuar.', ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes(): array { return [ 'name' => 'nome', 'email' => 'e-mail', 'password' => 'senha', 'password_confirmation' => 'confirmação de senha', 'captcha' => 'captcha', 'terms_of_service' => 'Termos de Uso', 'privacy_policy' => 'Política de Privacidade', ]; } }