Skip to content

Instantly share code, notes, and snippets.

@evgeniy1204
Created March 21, 2018 10:52
Show Gist options
  • Save evgeniy1204/899a657d67f7e964e970c692ffab98af to your computer and use it in GitHub Desktop.
Save evgeniy1204/899a657d67f7e964e970c692ffab98af to your computer and use it in GitHub Desktop.
<?php
namespace AppBundle\Validator\BookingOptional;
use Proxies\__CG__\AppBundle\Entity\BookingOptional;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
/**
* Class IsValidSelectedIvaRegimenValidator
*
* @package AppBundle\Validator\BookingOptional
*/
class IsValidSelectedIvaRegimenValidator extends ConstraintValidator
{
/**
* If BookingOptional::requirePackageTravel is checked, then field ivaRegimen should be equally BookingOptional::IVA_REGIMEN_PERCENT_VALUE_74
*
* @param mixed $bookingOptional
* @param Constraint $constraint
*/
public function validate($bookingOptional, Constraint $constraint)
{
if ($bookingOptional->getRequirePackageTravel() === true && $bookingOptional->getIvaRegimen() != BookingOptional::IVA_REGIMEN_PERCENT_VALUE_74) {
$this->context->buildViolation(sprintf("Siccome \"Trasforma la prenotazione in un pacchetto turistico\" è spuntato, il campo \"Regime IVA\" dev'essere \"booking_optional.iva_regimen.%s\"", BookingOptional::IVA_REGIMEN_PERCENT_VALUE_74))
->atPath("ivaRegimen")
->addViolation();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment