File: /var/www/heifetz/heifetz-app/models/AbstractModel.php
<?php
namespace Models;
use Core\DbLib\DbModel;
use Helpers\Validator;
abstract class AbstractModel extends DbModel
{
/**
* Возвращает правила валидации
*
* @return array
*/
abstract protected static function getRules(): array;
/**
* Возвращает стандартные переводы для полей
*
* @return array
*/
protected static function getTranslations(): array
{
return [];
}
public static function validate($model, array $translations = [], string $type = Validator::TYPE_UPDATE): array
{
$translations = empty($translations) ? static::getTranslations() : $translations;
return (new Validator(static::getRules()))->validate($model, $translations, $type);
}
public static function fullValidate($model): array
{
return static::validate($model, type: Validator::TYPE_CREATE);
}
}