码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-08-11 23:28:04      阅读:395      评论:0      收藏:0      [点我收藏+]

标签:return   function   false   

   /**
    * 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

标签:return   function   false   

原文地址:http://jingshanls.blog.51cto.com/3357095/1836735

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!