public function validate() { $form = $this->form; /** @var BankInformation $data */ $data = $this->data; if ($this->isNullOrEmptyString($data->getAccountOwnerFirstName())) { $form->get('account_owner_first_name')->addError(new FormError('Required.')); } if ($this->isNullOrEmptyString($data->getAccountOwnerLastName())) { $form->get('account_owner_last_name')->addError(new FormError('Required.')); } if ($this->isNullOrEmptyString($data->getName())) { $form->get('name')->addError(new FormError('Required.')); } if ($this->isNullOrEmptyString($data->getAccountTitle())) { $form->get('account_title')->addError(new FormError('Required.')); } $phoneNumber = $data->getPhoneNumber(); if ($this->isNullOrEmptyString($phoneNumber)) { $form->get('phone_number')->addError(new FormError('Required.')); } else { $phoneDigits = 10; if (!is_numeric($phoneNumber)) { $form->get('phone_number')->addError(new FormError("Enter correct phone number.")); } elseif (strlen($phoneNumber) != $phoneDigits) { $form->get('phone_number')->addError(new FormError("Phone number must be {$phoneDigits} digits.")); } } if (!is_numeric($data->getRoutingNumber())) { $form->get('routing_number')->addError(new FormError('Required.')); } if (!is_numeric($data->getAccountNumber())) { $form->get('account_number')->addError(new FormError('Required.')); } if (!in_array($data->getAccountType(), BankInformation::getAccountTypeChoices())) { $form->get('account_type')->addError(new FormError('Required.')); } if (!$data->getPdfDocument()) { $form->get('pdfDocument')->addError(new FormError('Upload a file.')); } }
public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('account_owner_first_name', 'text', array('required' => false))->add('account_owner_middle_name', 'text', array('required' => false))->add('account_owner_last_name', 'text', array('required' => false))->add('joint_account_owner_first_name', 'text', array('required' => false))->add('joint_account_owner_middle_name', 'text', array('required' => false))->add('joint_account_owner_last_name', 'text', array('required' => false))->add('name', 'text', array('required' => false))->add('account_title', 'text', array('required' => false))->add('phone_number', 'text', array('required' => false))->add('routing_number', 'text', array('constraints' => array(new Type(array('type' => 'numeric'))), 'required' => false))->add('account_number', 'text', array('constraints' => array(new Type(array('type' => 'numeric'))), 'required' => false))->add('account_type', 'choice', array('choices' => BankInformation::getAccountTypeChoices(), 'expanded' => true, 'multiple' => false, 'required' => false))->add('pdfDocument', new PdfDocumentFormType()); $builder->addEventListener(FormEvents::BIND, array($this, 'onBind')); }