Commit 554d390f authored by Taylor Otwell's avatar Taylor Otwell

added same and different validation rules.

parent d462a729
......@@ -29,6 +29,7 @@ return array(
"string" => "The :attribute must be between :min - :max characters.",
),
"confirmed" => "The :attribute confirmation does not match.",
"different" => "The :attribute and :other must be different.",
"email" => "The :attribute format is invalid.",
"exists" => "The selected :attribute is invalid.",
"image" => "The :attribute must be an image.",
......@@ -49,6 +50,7 @@ return array(
"not_in" => "The selected :attribute is invalid.",
"numeric" => "The :attribute must be a number.",
"required" => "The :attribute field is required.",
"same" => "The :attribute and :other must match.",
"size" => array(
"numeric" => "The :attribute must be :size.",
"file" => "The :attribute must be :size kilobyte.",
......
......@@ -253,9 +253,7 @@ class Validator {
*/
protected function validate_confirmed($attribute, $value)
{
$confirmed = $attribute.'_confirmation';
return isset($this->attributes[$confirmed]) and $value == $this->attributes[$confirmed];
return $this->validate_same($attribute, $value, array($attribute.'_confirmation'));
}
/**
......@@ -272,6 +270,36 @@ class Validator {
return $this->validate_required($attribute, $value) and ($value == 'yes' or $value == '1');
}
/**
* Validate that an attribute is the same as another attribute.
*
* @param string $attribute
* @param mixed $value
* @param array $parameters
* @return bool
*/
protected function validate_same($attribute, $value, $parameters)
{
$other = $parameters[0];
return isset($this->attributes[$other]) and $value == $this->attributes[$other];
}
/**
* Validate that an attribute is different from another attribute.
*
* @param string $attribute
* @param mixed $value
* @param array $parameters
* @return bool
*/
protected function validate_different($attribute, $value, $parameters)
{
$other = $parameters[0];
return isset($this->attributes[$other]) and $value != $this->attributes[$other];
}
/**
* Validate that an attribute is numeric.
*
......@@ -727,7 +755,9 @@ class Validator {
// If no language line has been specified for the attribute, all of
// the underscores will be removed from the attribute name and that
// will be used as the attribtue name in the message.
$display = Lang::line("{$bundle}validation.attributes.{$attribute}")->get($this->language);
$line = "{$bundle}validation.attributes.{$attribute}";
$display = Lang::line($line)->get($this->language);
return (is_null($display)) ? str_replace('_', ' ', $attribute) : $display;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment