Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Error reporting with redirectBack


Reply

3 Posts   221 Views

Avatar
Martinjj

18 December 2013 at 3:43am (Last edited: 18 December 2013 3:44am), Community Member, 12 Posts

Hello, i am having issues with showing an error when a user registers an account using an "in use" email address.

I am updating [url=http://www.ssbits.com/tutorials/2010/site-members-registering-users-and-allowing-them-to-edit-their-details/]Arams site members code[/url]

I have reworked the deprecated code and now it all functions well other than showing the error message on duplicated email used at registration.

//Check for existing member email address
      if($member = DataObject::get_one("Member", "`Email` = '". Convert::raw2sql($data['Email']) . "'"))
      {
         //Set error message
         $form->AddErrorMessage('Email', "Sorry, that email address already exists. Please choose another.", 'bad');
         //Set form data from submitted values
         Session::set("FormInfo.Form_RegistrationForm.data", $data);      
         //Return back to form
         return $this->redirectBack();         
      }

the code catches the duplicated email on sending, but fails to show the error message on redirectBack, im quite new to this but i would not have thought redirectback would be a typical approach as basicaly the page is just refreshing.

i have tried return $this->redirectBack('Email); amongst other shots in the dark and having no success.
regards

Avatar
swaiba

18 December 2013 at 4:25am Forum Moderator, 1796 Posts

Instead of just relying on...

$validator = new RequiredFields('FirstName', 'Email', 'Password');

create a more complex validator that does your validation - then no need to do the validation in the submit (and hence no need to use redirect back). This is a post that addresses their use within ModelAdmin... And it is [kinda] the same for a form.

http://www.silverstripe.org/general-questions/show/17007

Avatar
Martinjj

18 December 2013 at 5:06am Community Member, 12 Posts

Brilliant thanks... funnily enough i have just been checking this out on the docs http://doc.silverstripe.org/framework/en/topics/datamodel which under "Validation and Constraints" shows a similar way as yours..
cheers