vendor and env first commit
This commit is contained in:
+207
@@ -0,0 +1,207 @@
|
||||
<?php
|
||||
|
||||
namespace Proengsoft\JsValidation\Javascript;
|
||||
|
||||
trait JavascriptRulesTrait
|
||||
{
|
||||
/**
|
||||
* Handles multidimensional attribute names.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @return string
|
||||
*/
|
||||
abstract protected function getAttributeName($attribute);
|
||||
|
||||
/**
|
||||
* Parse named parameters to $key => $value items.
|
||||
*
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
abstract public function parseNamedParameters($parameters);
|
||||
|
||||
/**
|
||||
* Confirmed rule is applied to confirmed attribute.
|
||||
*
|
||||
* @param $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleConfirmed($attribute, array $parameters)
|
||||
{
|
||||
$parameters[0] = $this->getAttributeName($attribute);
|
||||
$attribute = "{$attribute}_confirmation";
|
||||
|
||||
return [$attribute, $parameters];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns Javascript parameters for After rule.
|
||||
*
|
||||
* @param $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleAfter($attribute, array $parameters)
|
||||
{
|
||||
if (! ($date = strtotime($parameters[0]))) {
|
||||
$date = $this->getAttributeName($parameters[0]);
|
||||
}
|
||||
|
||||
return [$attribute, [$date]];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns Javascript parameters for Before rule.
|
||||
*
|
||||
* @param $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleBefore($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleAfter($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that two attributes match.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleSame($attribute, array $parameters)
|
||||
{
|
||||
$other = $this->getAttributeName($parameters[0]);
|
||||
|
||||
return [$attribute, [$other]];
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute is different from another attribute.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleDifferent($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleSame($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when any other attribute exists.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredWith($attribute, array $parameters)
|
||||
{
|
||||
$parameters = array_map([$this, 'getAttributeName'], $parameters);
|
||||
|
||||
return [$attribute, $parameters];
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when all other attributes exists.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredWithAll($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleRequiredWith($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when another attribute does not.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredWithout($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleRequiredWith($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when all other attributes do not.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredWithoutAll($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleRequiredWith($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when another attribute has a given value.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredIf($attribute, array $parameters)
|
||||
{
|
||||
$parameters[0] = $this->getAttributeName($parameters[0]);
|
||||
|
||||
return [$attribute, $parameters];
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that an attribute exists when another attribute does not have a given value.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleRequiredUnless($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleRequiredIf($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that the values of an attribute is in another attribute.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleInArray($attribute, array $parameters)
|
||||
{
|
||||
return $this->ruleRequiredIf($attribute, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the dimensions of an image matches the given values.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleDimensions($attribute, $parameters)
|
||||
{
|
||||
$parameters = $this->parseNamedParameters($parameters);
|
||||
|
||||
return [$attribute, $parameters];
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate an attribute is unique among other values.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param array $parameters
|
||||
* @return array
|
||||
*/
|
||||
protected function ruleDistinct($attribute, array $parameters)
|
||||
{
|
||||
$parameters[0] = $attribute;
|
||||
|
||||
return $this->ruleRequiredIf($attribute, $parameters);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user