protected function validateInsurancePolicyType(FormInterface $form, TransferInformation $data) { $insurancePolicyType = $data->getInsurancePolicyType(); $penaltyAmount = $data->getPenaltyAmount(); if ($insurancePolicyType == TransferInformation::INSURANCE_POLICY_TYPE_TERMINATE_CONTACT_POLICY || $insurancePolicyType == TransferInformation::INSURANCE_POLICY_TYPE_TRANSFER_PENALTY_FREE) { $data->setPenaltyAmount(null); } elseif ($insurancePolicyType == TransferInformation::INSURANCE_POLICY_TYPE_TRANSFER_PENALTY_FREE_AMOUNT) { if (null === $penaltyAmount || filter_var($penaltyAmount, FILTER_VALIDATE_FLOAT) === false) { $form->get('penalty_amount')->addError(new FormError('Enter valid penalty amount.')); } } }