1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
<?php
namespace BEdita\Core\Model\Validation;
use Cake\ORM\TableRegistry;
use Cake\Validation\Validator;
class ObjectsValidator extends Validator
{
public function __construct()
{
parent::__construct();
$this->setProvider('objectsTable', TableRegistry::getTableLocator()->get('Objects'));
$this
->naturalNumber('id')
->allowEmptyString('id', null, 'create')
->requirePresence('id', 'update')
->inList('status', ['on', 'off', 'draft'])
->notEmptyString('status')
->ascii('uname')
->allowEmptyString('uname')
->boolean('locked')
->allowEmptyString('locked')
->boolean('deleted')
->allowEmptyString('deleted')
->dateTime('published')
->allowEmptyDateTime('published')
->allowEmptyString('title')
->allowEmptyString('description')
->allowEmptyString('body')
->allowEmptyArray('extra')
->scalar('lang')
->add('lang', 'languageTag', ['rule' => [Validation::class, 'languageTag']])
->allowEmptyString('lang')
->add('publish_start', 'dateTime', ['rule' => [Validation::class, 'dateTime']])
->allowEmptyDateTime('publish_start')
->add('publish_end', 'dateTime', ['rule' => [Validation::class, 'dateTime']])
->allowEmptyDateTime('publish_end');
}
}