public function internalCheck($email, $checkText, $expectSuccess) { $field = new EmailField("MyEmail"); $field->setValue($email); $val = new EmailFieldTest_Validator(); try { $field->validate($val); // If we expect failure and processing gets here without an exception, the test failed $this->assertTrue($expectSuccess, $checkText . " (/{$email}/ passed validation, but not expected to)"); } catch (Exception $e) { if ($e instanceof PHPUnit_Framework_AssertionFailedError) { throw $e; } else { if ($expectSuccess) { $this->assertTrue(false, $checkText . ": " . $e->GetMessage() . " (/{$email}/ did not pass validation, but was expected to)"); } } } }
/** * Save the changes to the form */ function submit($data, $form) { $bt = defined('DB::USE_ANSI_SQL') ? "\"" : "`"; $member = Member::currentUser(); $newMember = false; Session::set("FormInfo.Form_Form.data", $data); $emailField = new EmailField("Email"); $emailField->setValue($data["Email"]); if ($emailField) { if (!$emailField->validate($form->validator)) { $form->addErrorMessage("Blurb", $this->ErrorBadEmail, "bad"); $this->redirectBack(); return; } } if (!$member) { $newMember = true; $member = Object::create('Member'); $form->sessionMessage($this->WelcomeTitle, 'good'); $id = 0; } else { $form->sessionMessage($this->ThankYouTitle, 'good'); $id = $member->ID; } //validation if ($existingMember = Member::get()->filter(array("Email" => Convert::raw2sql($data['Email'])))->exclude(array("ID" => $id))->first()) { $form->addErrorMessage("Blurb", $this->ErrorEmailAddressAlreadyExists, "bad"); return $this->redirectBack(); } // check password fields are the same before saving if ($data["Password"]["_Password"] != $data["Password"]["_ConfirmPassword"]) { $form->addErrorMessage("Password", $this->ErrorPasswordDoNotMatch, "bad"); return $this->redirectBack(); } if (!$id && !$data["Password"]["_Password"]) { $form->addErrorMessage("Password", $this->ErrorMustSupplyPassword, "bad"); return $this->redirectBack(); } $password = $member->Password; if (isset($data["Password"]["Password"]) && strlen($data["Password"]["Password"]) > 3) { $password = $data["Password"]["Password"]; } $form->saveInto($member); $member->changePassword($password); $member->write(); if ($newMember) { $form->saveInto($member); $member->write(); } //adding to group $group = Group::get()->filter(array("Code" => self::$register_group_code))->first(); if ($group) { $member->Groups()->add($group); } if ($newMember) { $member->logIn(); $link = ContentController::join_links($this->Link(), 'welcome'); } else { $link = ContentController::join_links($this->Link(), 'thanks'); } if (!isset($_REQUEST["BackURL"]) && Session::get('BackURL')) { $_REQUEST["BackURL"] = Session::get('BackURL'); } if (isset($_REQUEST["BackURL"])) { $link = urldecode($_REQUEST["BackURL"]); Session::set('BackURL', ''); } if ($link) { return $this->redirect($link); } return array(); }
public function validate($validator) { // Run the parent validation $valid = parent::validate($validator); // If the parent says the value is not valid, let's do any domain validation. if ($valid) { $valid = $this->validateDomain($validator); } return $valid; }