Skip to content

Commit

Permalink
Fixing merge issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
daylerees committed Jan 6, 2013
2 parents abff7d8 + de53feb commit f0c3dbb
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 0 deletions.
Empty file added after:1986-05-28
Empty file.
Empty file added after:1986-28-05,
Empty file.
1 change: 1 addition & 0 deletions application/language/en/validation.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"countbetween" => "The :attribute must have between :min and :max selected elements.",
"countmax" => "The :attribute must have less than :max selected elements.",
"countmin" => "The :attribute must have at least :min selected elements.",
"date_format" => "The :attribute must have a valid date format.",
"different" => "The :attribute and :other must be different.",
"email" => "The :attribute format is invalid.",
"exists" => "The selected :attribute is invalid.",
Expand Down
Empty file added before:1986-05-28
Empty file.
Empty file added before:1986-28-05,
Empty file.
8 changes: 8 additions & 0 deletions laravel/documentation/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,14 @@ Many times, when updating a record, you want to use the unique rule, but exclude

> **Note:** The **before** and **after** validation rules use the **strtotime** PHP function to convert your date to something the rule can understand.
#### Validate that a date attribute conforms to a given format:

'start_date' => 'date_format:H\\:i'),

> **Note:** The backslash escapes the colon so that it does not count as a parameter separator.
The formatting options for the date format are described in the [PHP documentation](http://php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-parameters).

<a name="rule-email"></a>
### E-Mail Addresses

Expand Down
22 changes: 22 additions & 0 deletions laravel/tests/cases/validator.test.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,28 @@ public function testExistsRule()
$this->assertFalse(Validator::make($input, $rules)->valid());
}

/**
* Tests the date_format validation rule.
*
* @group laravel
*/
public function testTheDateFormatRule()
{
$input = array('date' => '15-Feb-2009');
$rules = array('date' => 'date_format:j-M-Y');
$this->assertTrue(Validator::make($input, $rules)->valid());

$input['date'] = '2009-02-15,15:16:17';
$rules['date'] = 'date_format:"Y-m-d,H:i:s"';
$this->assertTrue(Validator::make($input, $rules)->valid());

$input['date'] = '2009-02-15';
$this->assertFalse(Validator::make($input, $rules)->valid());

$input['date'] = '15:16:17';
$this->assertFalse(Validator::make($input, $rules)->valid());
}

/**
* Test that the validator sets the correct messages.
*
Expand Down
13 changes: 13 additions & 0 deletions laravel/validator.php
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,19 @@ protected function validate_after($attribute, $value, $parameters)
return (strtotime($value) > strtotime($parameters[0]));
}

/**
* Validate the date conforms to a given format.
*
* @param string $attribute
* @param mixed $value
* @param array $parameters
* @return bool
*/
protected function validate_date_format($attribute, $value, $parameters)
{
return date_create_from_format($parameters[0], $value) !== false;
}

/**
* Get the proper error message for an attribute and rule.
*
Expand Down

0 comments on commit f0c3dbb

Please sign in to comment.