NameserverValidator.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmClone\Validators;
  3. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Validators\BaseValidator;
  4. class NameserverValidator extends BaseValidator
  5. {
  6. protected $required = false;
  7. protected $public = true;
  8. public function __construct($required = false , $public = true)
  9. {
  10. $this->required = $required;
  11. $this->public = $public;
  12. }
  13. protected function validate($data, $additionalData = null)
  14. {
  15. if($additionalData->get('formData')['osTemplate'] && $additionalData->get('formData')['osTemplate']=='installationFromIso' ){
  16. return true;
  17. }
  18. if (!$this->required && empty($data))
  19. {
  20. return true;
  21. }
  22. if (!filter_var($data, FILTER_VALIDATE_IP))
  23. {
  24. $this->addValidationError('IP Address is not valid', false);
  25. return false;
  26. }
  27. if (!$this->public && filter_var($data, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE))
  28. {
  29. $this->addValidationError('The IP Address is not private', false);
  30. return false;
  31. }
  32. return true;
  33. }
  34. }