/**
* Validate that an attribute exists when any other attribute exists.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredWith($attribute, $value, $parameters)
{
if (! $this->allFailingRequired($parameters)) {// if all of them just be require
return $this->validateRequired($attribute, $value);// return a validateRequired
}//something is wrong
return true;
}//validate that an attribute exists when any other attribute exists
/**
* Validate that an attribute exists when all other attributes exists.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredWithAll($attribute, $value, $parameters)
{
if (! $this->anyFailingRequired($parameters)) {
return $this->validateRequired($attribute, $value);
}// validaterequired
return true;
}// too simple in this function
/**
* Validate that an attribute exists when another attribute does not.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredWithout($attribute, $value, $parameters)
{
if ($this->anyFailingRequired($parameters)) {
return $this->validateRequired($attribute, $value);
}
return true;
}//Validate that an attribute exists when another attribute does not.
/**
* Validate that an attribute exists when all other attributes do not.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredWithoutAll($attribute, $value, $parameters)
{
if ($this->allFailingRequired($parameters)) {
return $this->validateRequired($attribute, $value);
}
return true;
}//validate that an attribute exists when all other attributes do not
/**
* Validate that an attribute exists when another attribute has a given value.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredIf($attribute, $value, $parameters)
{//Validate that an attribute exists when another attribute has a given value.
$this->requireParameterCount(2, $parameters, 'required_if');// a user function
$data = Arr::get($this->data, $parameters[0]);// all of this arr::get
$values = array_slice($parameters, 1);// use this sys function to get this value
// just like get the other array about use this function that is array_pop
if (in_array($data, $values)) {
return $this->validateRequired($attribute, $value);
}// if this value in this value
return true;// default just a true return
}
/**
* Validate that an attribute exists when another attribute does not have a given value.
*
* @param string $attribute
* @param mixed $value
* @param mixed $parameters
* @return bool
*/
protected function validateRequiredUnless($attribute, $value, $parameters)
{//validate that an attribute exists when another attribute does not have a given value
$this->requireParameterCount(2, $parameters, 'required_unless');
// get parameter Count number , that is a user function
$data = Arr::get($this->data, $parameters[0]);// just get this array value use the key
$values = array_slice($parameters, 1);// get other collection
if (! in_array($data, $values)) {// if in the data
return $this->validateRequired($attribute, $value);
}//determine it is right
return true;//default it is true
}
/**
* Get the number of attributes in a list that are present.
*
* @param array $attributes
* @return int
*/
protected function getPresentCount($attributes)
{// function name that is get Present Count
$count = 0;// set the default number
foreach ($attributes as $key) {// loop this attribute
if (Arr::get($this->data, $key) || Arr::get($this->files, $key)) {
$count++;
}// if it is can get something by data or bay files ,return count++
}
return $count;
}// get the number in this list now
/**
* Validate that an attribute has a matching confirmation.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
protected function validateConfirmed($attribute, $value)
{// first this just a wrap
return $this->validateSame($attribute, $value, [$attribute.'_confirmation']);
// validate Same has three parameters
}//validate that an attribute has a matching confirmation
/**
* Validate that two attributes match.
*
* @param string $attribute
* @param mixed $value
* @param array $parameters
* @return bool
*/
protected function validateSame($attribute, $value, $parameters)
{
$this->requireParameterCount(1, $parameters, 'same');//require ParameterCount
$other = Arr::get($this->data, $parameters[0]);// Arr::get
return isset($other) && $value === $other;//return it is other
}//validate that two attributes match