File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Requests/TalentBank/CompanyRequest.php
Back
<?php namespace App\Http\Requests\TalentBank; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; class CompanyRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { $rules = [ 'cnpj' => 'required|string|size:14|unique:companies,cnpj', 'corporate_name' => 'string', 'trading_name' => 'string', 'logo' => 'file|mimes:jpg,png,gif', 'description' => 'string', 'address' => 'string', 'zip_code' => 'string', 'neighbourhood_id' => 'integer|exists:neighbourhoods,id', 'telephone' => 'nullable|string', 'cellphone' => 'nullable|string', 'contact_name' => 'string', 'email' => 'string|email|max:255|unique:companies,email', 'active' => 'boolean', ]; if ($this->method() == 'PUT') { $rules['cnpj'] = 'required|string|size:14|unique:companies,cnpj,'.$this->route('company')->id; $rules['logo'] = 'file|mimes:jpg,png,gif'; $rules['email'] = 'string|email|max:255|unique:companies,email,'.$this->route('company')->id; } return $rules; } public static function validateCnpj($cnpj): bool { $cnpj = strval($cnpj); $cnpj = preg_replace('/[^0-9]/', '', $cnpj); if (strlen($cnpj) !== 14) { Log::info("Tamanho inválido: {$cnpj}"); return false; } if (preg_match('/(\d)\1{13}/', $cnpj)) { Log::info("Dígitos iguais: {$cnpj}"); return false; } for ($i = 0, $j = 5, $sum = 0; $i < 12; $i++) { $sum += $cnpj[$i] * $j; $j = ($j == 2) ? 9 : $j - 1; } $mod = $sum % 11; if ($cnpj[12] != ($mod < 2 ? 0 : 11 - $mod)) { Log::info("Primeiro dígito verificador inválido: {$cnpj}"); return false; } for ($i = 0, $j = 6, $sum = 0; $i < 13; $i++) { $sum += $cnpj[$i] * $j; $j = ($j == 2) ? 9 : $j - 1; } $mod = $sum % 11; $isValid = $cnpj[13] == ($mod < 2 ? 0 : 11 - $mod); if (! $isValid) { Log::info("Segundo dígito verificador inválido: {$cnpj}"); } return $isValid; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings