Commit 419367f0 by Taylor Otwell

Merge pull request #1536 from xsbeats/required_with_validation_message

bugfix: added validation message to language file for required_with
parents 153c2837 19cd5395
...@@ -58,6 +58,7 @@ return array( ...@@ -58,6 +58,7 @@ return array(
"not_in" => "The selected :attribute is invalid.", "not_in" => "The selected :attribute is invalid.",
"numeric" => "The :attribute must be a number.", "numeric" => "The :attribute must be a number.",
"required" => "The :attribute field is required.", "required" => "The :attribute field is required.",
"required_with" => "The :attribute field is required with :field",
"same" => "The :attribute and :other must match.", "same" => "The :attribute and :other must match.",
"size" => array( "size" => array(
"numeric" => "The :attribute must be :size.", "numeric" => "The :attribute must be :size.",
......
...@@ -50,6 +50,7 @@ return array( ...@@ -50,6 +50,7 @@ return array(
"not_in" => "The selected :attribute is invalid.", "not_in" => "The selected :attribute is invalid.",
"numeric" => "The :attribute must be a number.", "numeric" => "The :attribute must be a number.",
"required" => "The :attribute field is required.", "required" => "The :attribute field is required.",
"required_with" => "The :attribute field is required with :field",
"same" => "The :attribute and :other must match.", "same" => "The :attribute and :other must match.",
"size" => array( "size" => array(
"numeric" => "The :attribute must be :size.", "numeric" => "The :attribute must be :size.",
......
...@@ -666,4 +666,24 @@ class ValidatorTest extends PHPUnit_Framework_TestCase { ...@@ -666,4 +666,24 @@ class ValidatorTest extends PHPUnit_Framework_TestCase {
$this->assertEquals($expect, $v->errors->first('test_attribute')); $this->assertEquals($expect, $v->errors->first('test_attribute'));
} }
/**
* Test required_with attribute names are replaced.
*
* @group laravel
*/
public function testRequiredWithAttributesAreReplaced()
{
$lang = require path('app').'language/en/validation.php';
$data = array('first_name' => 'Taylor', 'last_name' => '');
$rules = array('first_name' => 'required', 'last_name' => 'required_with:first_name');
$v = Validator::make($data, $rules);
$v->valid();
$expect = str_replace(array(':attribute', ':field'), array('last name', 'first name'), $lang['required_with']);
$this->assertEquals($expect, $v->errors->first('last_name'));
}
} }
...@@ -864,6 +864,20 @@ class Validator { ...@@ -864,6 +864,20 @@ class Validator {
} }
/** /**
* Replace all place-holders for the required_with rule.
*
* @param string $message
* @param string $attribute
* @param string $rule
* @param array $parameters
* @return string
*/
protected function replace_required_with($message, $attribute, $rule, $parameters)
{
return str_replace(':field', $this->attribute($parameters[0]), $message);
}
/**
* Replace all place-holders for the between rule. * Replace all place-holders for the between rule.
* *
* @param string $message * @param string $message
......
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