Commit 5ab1d1a0 by Qiang Xue

Fixes #6992.

parent 5ab58ac1
......@@ -312,7 +312,7 @@ the method/function is:
```php
/**
* @param string $attribute the attribute currently being validated
* @param array $params the additional name-value pairs given in the rule
* @param mixed $params the value of the "params" given in the rule
*/
function ($attribute, $params)
```
......
......@@ -26,7 +26,9 @@ class InlineValidator extends Validator
{
/**
* @var string|\Closure an anonymous function or the name of a model class method that will be
* called to perform the actual validation. The signature of the method should be like the following:
* called to perform the actual validation. The signature of the method should be like the following,
* where `$attribute` is the name of the attribute to be validated, and `$params` contains the value
* of [[params]] that you specify when declaring the inline validation rule:
*
* ~~~
* function foo($attribute, $params)
......@@ -34,7 +36,7 @@ class InlineValidator extends Validator
*/
public $method;
/**
* @var array additional parameters that are passed to the validation method
* @var mixed additional parameters that are passed to the validation method
*/
public $params;
/**
......
......@@ -57,9 +57,10 @@ class ValidatorTest extends TestCase
$this->assertInstanceOf(BooleanValidator::className(), $val);
$this->assertSame(['a', 'b'], $val->on);
$this->assertSame(['c', 'd', 'e'], $val->except);
$val = TestValidator::createValidator('inlineVal', $model, ['val_attr_a']);
$val = TestValidator::createValidator('inlineVal', $model, ['val_attr_a'], ['params' => ['foo' => 'bar']]);
$this->assertInstanceOf(InlineValidator::className(), $val);
$this->assertSame('inlineVal', $val->method);
$this->assertSame(['foo' => 'bar'], $val->params);
}
public function testValidate()
......
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