http://modulesgarden.com * CONTACT -> contact@modulesgarden.com * * * This software is furnished under a license and may be used and copied * only in accordance with the terms of such license and with the * inclusion of the above copyright notice. This software or any other * copies thereof may not be provided or otherwise made available to any * other person. No title to and ownership of the software is hereby * transferred. * * * ******************************************************************** */ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VirtualNetwork\Forms; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Validators\CidrValidator; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Validators\VirtualIpAddressValidator; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VirtualNetwork\Providers\VirtualNetworkProvider; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\BaseForm; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Text; class CreateForm extends BaseForm implements ClientArea { public function initContent() { $this->initIds('createForm'); $this->setFormType('create'); $this->setProvider(new VirtualNetworkProvider()); $this->initFields(); $this->loadDataToForm(); } public function getAllowedActions() { return ['create']; } private function initFields() { //name $field = new Text('name'); $field->notEmpty(); $this->addField($field); //pool $field = new Text('pool'); $field->addValidator(new VirtualIpAddressValidator(true, false)); $field->setPlaceholder('192.168.0.100'); $this->addField($field); //cidr $field = new Text('cidr'); $field->setPlaceholder('24'); $field->addValidator(new CidrValidator(true)); $this->addField($field); //gateway $field = new Text('gateway'); $field->setPlaceholder('192.168.0.1'); $field->addValidator(new VirtualIpAddressValidator(false, false)); $this->addField($field); } }