首页 > Web开发 > 详细

[李景山php]每天laravel-20161010|Validator.php-10

时间:2016-08-11 23:27:27      阅读:422      评论:0      收藏:0      [点我收藏+]
   /**
    * 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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!