[李景山php]每天laravel-20161012|Validator.php-12

/**
 * Get the inline message for a rule if it exists.
 *
 * @param  string  $attribute
 * @param  string  $lowerRule
 * @param  array   $source
 * @return string|null
 */
protected function getInlineMessage($attribute, $lowerRule, $source = null)
{//Get the inline message for a rule if it exists
    $source = $source ?: $this->customMessages;// if has source ,just use it

    $keys = ["{$attribute}.{$lowerRule}", $lowerRule];// get key ,i like this type to write a new array.

    // First we will check for a custom message for an attribute specific rule
    // message for the fields, then we will check for a general custom line
    // that is not attribute specific. If we find either we‘ll return it.
    foreach ($keys as $key) {// loop keys
        foreach (array_keys($source) as $sourceKey) {// loop source key
            if (Str::is($sourceKey, $key)) {// if it is a string
                return $source[$sourceKey];// just return the source value, because it is right, and break it.
            }
        }
    }// this is i know ,the un better function ,
}// the bigger strange method

/**
 * Get the custom error message from translator.
 *
 * @param  string  $customKey
 * @return string
 */
protected function getCustomMessageFromTranslator($customKey)
{// get the custom error message from the translator
    $shortKey = str_replace(‘validation.custom.‘, ‘‘, $customKey);// use str replace to get the short key

    $customMessages = Arr::dot(
        (array) $this->translator->trans(‘validation.custom‘)
    );// get the custom Messages

    foreach ($customMessages as $key => $message) {// loop message
        if ($key === $shortKey || (Str::contains($key, [‘*‘]) && Str::is($key, $shortKey))) {
            return $message;
        }// or ,just return it
    }

    return $customKey;// return it
}

/**
 * Get the proper error message for an attribute and size rule.
 *
 * @param  string  $attribute
 * @param  string  $rule
 * @return string
 */
protected function getSizeMessage($attribute, $rule)
{//Get the proper error message for an attribute and size rule.
    $lowerRule = Str::snake($rule);// get a format rule

    // There are three different types of size validations. The attribute may be
    // either a number, file, or string so we will check a few things to know
    // which type of value it is and return the correct line for that type.
    $type = $this->getAttributeType($attribute);//get Attribute Type

    $key = "validation.{$lowerRule}.{$type}";// combine a key

    return $this->translator->trans($key);// return the translator key
}

/**
 * Get the data type of the given attribute.
 *
 * @param  string  $attribute
 * @return string
 */
protected function getAttributeType($attribute)
{// get the data type of the given attribute.
    // We assume that the attributes present in the file array are files so that
    // means that if the attribute does not have a numeric rule and the files
    // list doesn‘t have it we‘ll just consider it a string by elimination.
    if ($this->hasRule($attribute, $this->numericRules)) {
        return ‘numeric‘;// return a type
    } elseif ($this->hasRule($attribute, [‘Array‘])) {
        return ‘array‘;// type is array
    } elseif (array_key_exists($attribute, $this->files)) {
        return ‘file‘;// type a file
    }

    return ‘string‘;// normal this is a string,
 //every thing can be make like a sting
}

/**
 * Replace all error message place-holders with actual values.
 *
 * @param  string  $message
 * @param  string  $attribute
 * @param  string  $rule
 * @param  array   $parameters
 * @return string
 */
protected function doReplacements($message, $attribute, $rule, $parameters)
{//replace all error message place-holders with actual values.
    $value = $this->getAttribute($attribute);// value this get attribute

    $message = str_replace(// str_replace  has a supper good type.
        [‘:ATTRIBUTE‘, ‘:Attribute‘, ‘:attribute‘],
        [Str::upper($value), Str::ucfirst($value), $value],
        $message
    );

    if (isset($this->replacers[Str::snake($rule)])) {// if isset this replacer
        $message = $this->callReplacer($message, $attribute, Str::snake($rule), $parameters);
    } elseif (method_exists($this, $replacer = "replace{$rule}")) {
        $message = $this->$replacer($message, $attribute, $rule, $parameters);
    }

    return $message;// return message
}

/**
 * Transform an array of attributes to their displayable form.
 *
 * @param  array  $values
 * @return array
 */
protected function getAttributeList(array $values)
{//Transform an array of attributes to their display able form.
    $attributes = [];// init this attributes

    // For each attribute in the list we will simply get its displayable form as
    // this is convenient when replacing lists of parameters like some of the
    // replacement functions do when formatting out the validation message.
    foreach ($values as $key => $value) {
        $attributes[$key] = $this->getAttribute($value);
    }

    return $attributes;
}
时间: 2024-10-14 23:07:08

[李景山php]每天laravel-20161012|Validator.php-12的相关文章

[李景山php]每天laravel-20161004|Validator.php-4

   /**     * Determine if it's a necessary presence validation.     *     * This is to avoid possible database type comparison errors.     *     * @param  string  $rule     * @param  string  $attribute     * @return bool     */    protected function 

[李景山php]每天laravel-20161014|Validator.php-14

    //2016-08-16     /**      * Parse a parameter list.      *      * @param  string  $rule      * @param  string  $parameter      * @return array      */     protected function parseParameters($rule, $parameter)     {//Parse a parameter list        

[李景山php]每天laravel-20161009|Validator.php-9

    /**      * Get the excluded ID column and value for the unique rule.      *      * @param  array  $parameters      * @return array      */     protected function getUniqueIds($parameters)     {         $idColumn = isset($parameters[3]) ? $paramet

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

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

[李景山php]每天laravel-20161011|Validator.php-11

/**  * Given two date/time strings, check that one is after the other.  *  * @param  string  $format  * @param  string  $before  * @param  string  $after  * @return bool  */ protected function checkDateTimeOrder($format, $before, $after) {     $befor

[李景山php]每天laravel-20161005|Validator.php-5

    /**      * Validate that an attribute exists when any other attribute exists.      *      * @param  string  $attribute      * @param  mixed   $value      * @param  mixed   $parameters      * @return bool      */     protected function validateReq

[李景山php]每天laravel-20161003|Validator.php-3

   /**     * Validate a given attribute against a rule.     *     * @param  string  $attribute     * @param  string  $rule     * @return void     */    protected function validate($attribute, $rule)    {// validate a given attribute against a rule.  

[李景山php]每天laravel-20161006|Validator.php-6

   /**     * Validate that an attribute is different from another attribute.     *     * @param  string  $attribute     * @param  mixed   $value     * @param  array   $parameters     * @return bool     */    protected function validateDifferent($attr

[李景山php]每天laravel-20160920|Writer-2

    //2016-07-20     /**      * Register a file log handler.      *      * @param  string  $path      * @param  string  $level      * @return void      */     public function useFiles($path, $level = 'debug')     {         $this->monolog->pushHandle