Для тех кто столкнулся с данной проблемой, и не хочет трать время на поиски решения, делается это так:
array('agentReward', 'checkRewardValidation', 'clientValidate' => 'clientCheckRewardValidation', 'on' => self::SCENARIO_FRONT_CREATE),
public function clientCheckRewardValidation($attribute, $params = array()) {
if (!isset($params['message']))
$params['message'] = 'Value should be 123';
$js = "if(value != '123') { messages.push('".$params['message']."'); }";
return $js;
}
В параметре "clientValidate" указываем функцию которая возвращает код для валидации поля на клиенте