Я использую PHP версии 5.6.25 с Yii2 версии 2.0.15.1 и работаю нормально с пользовательской проверкой, так как я меняю версию php на 7.0.10, модель выдает следующую ошибку
{"name":"PHP Notice","message":"Array to string conversion","code":8,"type":"yii\\base\\ErrorException","file":"D:\\wamp\\www\\cfms-hc\\models\\CASES.php","line":210,"stack-trace":["#0 D:\\wamp\\www\\cfms-hc\\vendor\\yiisoft\\yii2\\validators\\InlineValidator.php(72): ::call_user_func:{D:\\wamp\\www\\cfms-hc\\vendor\\yiisoft\\yii2\\validators\\InlineValidator.php:72}()","#1 D:\\wamp\\www\\cfms-hc\\vendor\\yiisoft\\yii2\\validators\\Validator.php(267): yii\\validators\\InlineValidator->validateAttribute()","#2 D:\\wamp\\www\\cfms-hc\\vendor\\yiisoft\\yii2\\base\\Model.php(367): yii\\validators\\Validator->validateAttributes()
Моя проверкафункция следующая.
public function validateInstitutiondate($attribute,$params)
{
$institutiondate = date('Y', strtotime($this->$attribute));
//$institutiondate = $this->$attribute ;
$caseyear = $this->$params['CASEYEAR'];
//$aa = $params['CASEYEAR'];
//$caseyear = $this->$params->CASEYEAR;
if ($institutiondate != $caseyear) {
$this->addError($attribute, 'Institution date must be of same year.'.$caseyear);
//$this->addError($this, $attribute, '{attribute} must be of same year.');
return false;
}
}
и проверка с использованием следующей строки.
['INSTITUTIONDATE','validateInstitutiondate','params'=>['CASEYEAR'=>'CASEYEAR']],