3

By default, Joomla will insure that a username and email is not already in use. I need to extend that to insure that the user provides a first name and last name (and is unique).

What is the best way to do this...I've explored using onUserBeforeSave in a user plugin, but this strikes me to be too late in the process.

7
  • Are you sure you want to have unique names? This should be a very specific case, otherwise I can't think why first/last name must be unique and how this could be useful.
    – FFrewin
    Commented Nov 10, 2014 at 19:32
  • It is a very specific case....its a small collection of Television producers, and uniqueness is part of the game...even without that, the first AND last requirement remains. Failing a user plugin test "works", but need to figure out how to set the error text that follows: "Save failed with the following error".
    – GDP
    Commented Nov 10, 2014 at 19:35
  • Also you may edit your #__users table structure in phpMyAdmin and change the "Index Type" of idx_name to UNIQUE.
    – Farahmand
    Commented Nov 10, 2014 at 21:18
  • Have to avoid hacks, and this rule only applies to a particular usergroup anyways, but thx
    – GDP
    Commented Nov 10, 2014 at 21:21
  • Yes, it's a DB hack but I think it applies to all users.
    – Farahmand
    Commented Nov 10, 2014 at 21:23

1 Answer 1

3

Well, this solution doesn't sit well with me, but it does work using the user plugin:

public function onUserBeforeSave($oldUser, $isnew, $newUser) {
    if($test == 'fails') {
        $error = ' First and Last Name must be specified';
        throw new Exception($error);
    }
}
2
  • Just a note - if you throw an Exception return will never be reached. Commented Nov 11, 2014 at 13:58
  • A true...remnant development code - thx
    – GDP
    Commented Nov 11, 2014 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.