Skip to content

Commit

Permalink
Umbrella class for validation rules
Browse files Browse the repository at this point in the history
  • Loading branch information
daftspunk committed Nov 29, 2021
1 parent 3ca4baf commit 1ebe782
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions src/Validation/Rule.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php namespace October\Rain\Validation;

use Illuminate\Contracts\Validation\Rule as RuleContract;

/**
* Rule is an umbrella class for the Illuminate rule contract.
*
* @package october\validation
* @author Alexey Bobkov, Samuel Georges
*/
abstract class Rule implements RuleContract
{
/**
* passes determines if the validation rule passes.
* @param string $attribute
* @param mixed $value
* @return bool
*/
abstract public function passes($attribute, $value);

/**
* message gets the validation error message.
* @return string
*/
abstract public function message();

/**
* validate callback method.
* @param string $attribute
* @param mixed $value
* @param array $params
* @return bool
*/
public function validate($attribute, $value, $params)
{
return $this->passes($attribute, $value);
}

/**
* replacer defines custom placeholder replacements.
* @param string $message
* @param string $attribute
* @param mixed $rule
* @param array $params
* @return string
*/
public function replacer($message, $attribute, $rule, $params)
{
return $message;
}
}

0 comments on commit 1ebe782

Please sign in to comment.