Fatal error: Declaration of App\Model\Table\ProdutosTable::validationDefault(Cake\Validation\Validator $validator) must be compatible with Cake\ORM\Table::validationDefault(Cake\Validation\Validator $validator): Cake\Validation\Validator in /home/eferro/workspace/estoque/src/Model/Table/ProdutosTable.php on line 6
ProdutosTable.php
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\Validation\Validator;
class ProdutosTable extends Table {
public function validationDefault(Validator $validator){
$validator->requirePresence('nome', true)->notEmpty('nome');
$validator->requirePresence('preco', true)->notEmpty('preco');
$validator->add('descricao', [
'mimLength' => [
'rule' => ['mimLength', 10 ],
'message' => 'A descrição deve conter pelo menos 10 caracteres'
]
]);
return $validator;
}
}
?>
ProdutosController.php
[...]
public function salva() {
$produtosTable = TableRegistry::get('Produtos');
$produto = $produtosTable->newEntity($this->request->getData());
if (!$produto->errors() && $produtosTable->save($produto)) {
$msg = "Produto salvo com sucesso";
$this->Flash->set($msg, ['element' => 'success']);
} else {
$msg = "Erro ao salvar o produto";
$this->Flash->set($msg, ['element' => 'error']);
}
$this->set('produto', $produto);
$this->render('novo');
}
[...]