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.'));
     }
 }
예제 #2
0
 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'));
 }