File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/laravel/framework/src/Illuminate/Validation/Rules
Upload
[..]
AnyOf.php (2.15 KB)
Edit
Rename
Del
Can.php (1.8 KB)
Edit
Rename
Del
Contains.php (1.04 KB)
Edit
Rename
Del
Dimensions.php (3.15 KB)
Edit
Rename
Del
DoesntContain.php (1.06 KB)
Edit
Rename
Del
Email.php (6.64 KB)
Edit
Rename
Del
Enum.php (4.02 KB)
Edit
Rename
Del
ExcludeIf.php (1.06 KB)
Edit
Rename
Del
ExcludeUnless.php (1.06 KB)
Edit
Rename
Del
In.php (1.18 KB)
Edit
Rename
Del
NotIn.php (1.12 KB)
Edit
Rename
Del
Password.php (11.02 KB)
Edit
Rename
Del
ProhibitedIf.php (1.07 KB)
Edit
Rename
Del
ProhibitedUnless.php (1.08 KB)
Edit
Rename
Del
Edit: Email.php
<?php namespace Illuminate\Validation\Rules; use Illuminate\Contracts\Validation\DataAwareRule; use Illuminate\Contracts\Validation\Rule; use Illuminate\Contracts\Validation\ValidatorAwareRule; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Traits\Conditionable; use Illuminate\Support\Traits\Macroable; use InvalidArgumentException; class Email implements Rule, DataAwareRule, ValidatorAwareRule { use Conditionable, Macroable; public bool $validateMxRecord = false; public bool $preventSpoofing = false; public bool $nativeValidation = false; public bool $nativeValidationWithUnicodeAllowed = false; public bool $rfcCompliant = false; public bool $strictRfcCompliant = false; /** * The validator performing the validation. * * @var \Illuminate\Validation\Validator */ protected $validator; /** * The data under validation. * * @var array */ protected $data; /** * An array of custom rules that will be merged into the validation rules. * * @var array */ protected $customRules = []; /** * The error message after validation, if any. * * @var array */ protected $messages = []; /** * The callback that will generate the "default" version of the email rule. * * @var string|array|callable|null */ public static $defaultCallback; /** * Set the default callback to be used for determining the email default rules. * * If no arguments are passed, the default email rule configuration will be returned. * * @param static|callable|null $callback * @return static|void * * @phpstan-return ($callback is null ? static : ($callback is callable ? void : ($callback is static ? void : never))) * * @throws \InvalidArgumentException */ public static function defaults($callback = null) { if (is_null($callback)) { return static::default(); } if (! is_callable($callback) && ! $callback instanceof static) { throw new InvalidArgumentException('The given callback should be callable or an instance of '.static::class); } static::$defaultCallback = $callback; } /** * Get the default configuration of the email rule. * * @return static */ public static function default() { $email = is_callable(static::$defaultCallback) ? call_user_func(static::$defaultCallback) : static::$defaultCallback; return $email instanceof static ? $email : new static; } /** * Ensure that the email is an RFC compliant email address. * * @param bool $strict * @return $this */ public function rfcCompliant(bool $strict = false) { if ($strict) { $this->strictRfcCompliant = true; } else { $this->rfcCompliant = true; } return $this; } /** * Ensure that the email is a strictly enforced RFC compliant email address. * * @return $this */ public function strict() { return $this->rfcCompliant(true); } /** * Ensure that the email address has a valid MX record. * * Requires the PHP intl extension. * * @return $this */ public function validateMxRecord() { $this->validateMxRecord = true; return $this; } /** * Ensure that the email address is not attempting to spoof another email address using invalid unicode characters. * * @return $this */ public function preventSpoofing() { $this->preventSpoofing = true; return $this; } /** * Ensure the email address is valid using PHP's native email validation functions. * * @param bool $allowUnicode * @return $this */ public function withNativeValidation(bool $allowUnicode = false) { if ($allowUnicode) { $this->nativeValidationWithUnicodeAllowed = true; } else { $this->nativeValidation = true; } return $this; } /** * Specify additional validation rules that should be merged with the default rules during validation. * * @param string|array $rules * @return $this */ public function rules($rules) { $this->customRules = array_merge($this->customRules, Arr::wrap($rules)); return $this; } /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { $this->messages = []; $validator = Validator::make( $this->data, [$attribute => $this->buildValidationRules()], $this->validator->customMessages, $this->validator->customAttributes ); if ($validator->fails()) { $this->messages = array_merge($this->messages, $validator->messages()->all()); return false; } return true; } /** * Build the array of underlying validation rules based on the current state. * * @return array */ protected function buildValidationRules() { $rules = []; if ($this->rfcCompliant) { $rules[] = 'rfc'; } if ($this->strictRfcCompliant) { $rules[] = 'strict'; } if ($this->validateMxRecord) { $rules[] = 'dns'; } if ($this->preventSpoofing) { $rules[] = 'spoof'; } if ($this->nativeValidation) { $rules[] = 'filter'; } if ($this->nativeValidationWithUnicodeAllowed) { $rules[] = 'filter_unicode'; } if ($rules) { $rules = ['email:'.implode(',', $rules)]; } else { $rules = ['email']; } return array_merge(array_filter($rules), $this->customRules); } /** * Get the validation error message. * * @return array */ public function message() { return $this->messages; } /** * Set the current validator. * * @param \Illuminate\Contracts\Validation\Validator $validator * @return $this */ public function setValidator($validator) { $this->validator = $validator; return $this; } /** * Set the current data under validation. * * @param array $data * @return $this */ public function setData($data) { $this->data = $data; return $this; } }
Simpan