/** * Validate the guessed extension of a file upload is in a set of file extensions. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateMimes($attribute, $value, $parameters) { if (! $this->isAValidFileInstance($value)) { return false; }// first this must be a file. return $value->getPath() != ‘‘ && in_array($value->guessExtension(), $parameters); // get path() }// this extension about file be guessed /** * Validate the MIME type of a file upload attribute is in a set of MIME types. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateMimetypes($attribute, $value, $parameters) { if (! $this->isAValidFileInstance($value)) { return false; } return $value->getPath() != ‘‘ && in_array($value->getMimeType(), $parameters); }//validate the MIME type of a file upload attribute is in a set of MIME types /** * Check that the given value is a valid file instance. * * @param mixed $value * @return bool */ public function isAValidFileInstance($value) { if ($value instanceof UploadedFile && ! $value->isValid()) { return false; }// this value is a instanceof this Uploaded File return $value instanceof File; }//check that the given value is a valid file instance. /** * Validate that an attribute contains only alphabetic characters. * * @param string $attribute * @param mixed $value * @return bool */ protected function validateAlpha($attribute, $value) { return is_string($value) && preg_match(‘/^[\pL\pM]+$/u‘, $value); }//get this value just abcd means it is alphabetic // just return this value,use preg_match /** * Validate that an attribute contains only alpha-numeric characters. * * @param string $attribute * @param mixed $value * @return bool */ protected function validateAlphaNum($attribute, $value) { if (! is_string($value) && ! is_numeric($value)) { return false; }// this is_string return preg_match(‘/^[\pL\pM\pN]+$/u‘, $value);//change this preg match }// this must be alpha and numeric characters. /** * Validate that an attribute contains only alpha-numeric characters, dashes, and underscores. * * @param string $attribute * @param mixed $value * @return bool */ protected function validateAlphaDash($attribute, $value) { if (! is_string($value) && ! is_numeric($value)) { return false; } return preg_match(‘/^[\pL\pM\pN_-]+$/u‘, $value); }// a validate way, alpha number dash and underscores /** * Validate that an attribute passes a regular expression check. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateRegex($attribute, $value, $parameters) { if (! is_string($value) && ! is_numeric($value)) { return false; } $this->requireParameterCount(1, $parameters, ‘regex‘); return preg_match($parameters[0], $value); }// a user rule , this rule is a regex /** * Validate that an attribute is a valid date. * * @param string $attribute * @param mixed $value * @return bool */ protected function validateDate($attribute, $value) {//Validate that an attribute is a valid date. if ($value instanceof DateTime) { return true; }// a instanceof DateTime if (strtotime($value) === false) { return false; }// a false $date = date_parse($value);// get date return checkdate($date[‘month‘], $date[‘day‘], $date[‘year‘]); }// check date /** * Validate that an attribute matches a date format. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateDateFormat($attribute, $value, $parameters) { $this->requireParameterCount(1, $parameters, ‘date_format‘);//get count $parsed = date_parse_from_format($parameters[0], $value);//date_parse_from_format return $parsed[‘error_count‘] === 0 && $parsed[‘warning_count‘] === 0;//error_count }// validate that an attribute matches a date format /** * Validate the date is before a given date. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateBefore($attribute, $value, $parameters) { $this->requireParameterCount(1, $parameters, ‘before‘); if ($format = $this->getDateFormat($attribute)) { return $this->validateBeforeWithFormat($format, $value, $parameters); } if (! ($date = strtotime($parameters[0]))) { return strtotime($value) < strtotime($this->getValue($parameters[0])); }//str to time return strtotime($value) < $date; }//validate before /** * Validate the date is before a given date with a given format. * * @param string $format * @param mixed $value * @param array $parameters * @return bool */ protected function validateBeforeWithFormat($format, $value, $parameters) { $param = $this->getValue($parameters[0]) ?: $parameters[0]; return $this->checkDateTimeOrder($format, $value, $param); }//validate before with format /** * Validate the date is after a given date. * * @param string $attribute * @param mixed $value * @param array $parameters * @return bool */ protected function validateAfter($attribute, $value, $parameters) { $this->requireParameterCount(1, $parameters, ‘after‘); if ($format = $this->getDateFormat($attribute)) { return $this->validateAfterWithFormat($format, $value, $parameters); } if (! ($date = strtotime($parameters[0]))) { return strtotime($value) > strtotime($this->getValue($parameters[0])); } return strtotime($value) > $date; }// validate after ,just a monitor model /** * Validate the date is after a given date with a given format. * * @param string $format * @param mixed $value * @param array $parameters * @return bool */ protected function validateAfterWithFormat($format, $value, $parameters) { $param = $this->getValue($parameters[0]) ?: $parameters[0];// get the param return $this->checkDateTimeOrder($format, $param, $value);// get the check result }// validate the date is after a given date with a given format
本文出自 “专注php” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/3357095/1836735
[李景山php]每天laravel-20161010|Validator.php-10
原文地址:http://jingshanls.blog.51cto.com/3357095/1836735