<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>@ in screenname</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=9866341" />
  <subtitle>@ in screenname</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=9866341</id>
  <updated>2026-04-06T02:22:05Z</updated>
  <dc:date>2026-04-06T02:22:05Z</dc:date>
  <entry>
    <title>RE: @ in screenname</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10334685" />
    <author>
      <name>Siby Mathew</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10334685</id>
    <updated>2011-08-05T07:06:35Z</updated>
    <published>2011-08-05T07:06:35Z</published>
    <summary type="html">Hi.. I am also facing the same problem... In my case I need to allow space in my screenName.&lt;br /&gt;Even if we specify the LiberalScreenNameValidator class, the remaining code is throwing the exception.&lt;br /&gt;@Jignesh How can we override the validator class in a plugin portlet environment ?</summary>
    <dc:creator>Siby Mathew</dc:creator>
    <dc:date>2011-08-05T07:06:35Z</dc:date>
  </entry>
  <entry>
    <title>RE: @ in screenname</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9881135" />
    <author>
      <name>SZ khan</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9881135</id>
    <updated>2011-07-06T13:33:47Z</updated>
    <published>2011-07-06T13:33:47Z</published>
    <summary type="html">I created my custom validator but the concerned code comes after the validator class has done its job.</summary>
    <dc:creator>SZ khan</dc:creator>
    <dc:date>2011-07-06T13:33:47Z</dc:date>
  </entry>
  <entry>
    <title>RE: @ in screenname</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9870750" />
    <author>
      <name>Jignesh Vachhani</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9870750</id>
    <updated>2011-07-06T06:17:59Z</updated>
    <published>2011-07-06T06:17:59Z</published>
    <summary type="html">I think you need to override validator class and you can bypass this @ validation.&lt;br /&gt;or else you can override UserLocalServiceImpl  class and bypass to calling validator class but this is not good practice.</summary>
    <dc:creator>Jignesh Vachhani</dc:creator>
    <dc:date>2011-07-06T06:17:59Z</dc:date>
  </entry>
  <entry>
    <title>@ in screenname</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9866340" />
    <author>
      <name>SZ khan</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=9866340</id>
    <updated>2011-07-06T02:03:10Z</updated>
    <published>2011-07-06T02:03:10Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;I have a requirement that users will have screennames which may be may not be their email addresses. This means screenName could be either testusername or testusername@test.com.&lt;br&gt;&lt;br&gt;As I see, It is not possible to insert a @ sign in the screenName. I have also  configured to use&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;The problem seems to be the following code in class UserLocalServiceImpl&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;for (char c : screenName.toCharArray()) {
                  if ((!Validator.isChar(c)) &amp;amp;amp;&amp;amp;amp; (!Validator.isDigit(c)) &amp;amp;amp;&amp;amp;amp;
                        (c != CharPool.DASH) &amp;amp;amp;&amp;amp;amp; (c != CharPool.PERIOD) &amp;amp;amp;&amp;amp;amp;
                        (c != CharPool.UNDERLINE)) {

                        throw new UserScreenNameException();
                  }
            }&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;How can I bypass it?&lt;br&gt;&lt;br&gt;Are there any other options available?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Sultee&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>SZ khan</dc:creator>
    <dc:date>2011-07-06T02:03:10Z</dc:date>
  </entry>
</feed>
