API16

JFormRuleUsername/test: Difference between revisions

From Joomla! Documentation

Doxiki (talk | contribs)
No edit summary
m removing red link to edit, no existant pages
Line 3: Line 3:


<span class="editsection" style="font-size:76%;">
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JFormRuleUsername/test|Edit Descripton]]<nowiki>]</nowiki>
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>
</span>


{{Description:JFormRuleUsername/test}}
<! removed transcluded page call, red link never existed >


===Syntax===
===Syntax===
Line 71: Line 71:


<span class="editsection" style="font-size:76%;">
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[SeeAlso:JFormRuleUsername/test|Edit See Also]]<nowiki>]</nowiki>
<nowiki>[<! removed edit link to red link >]</nowiki>
</span>
</span>
{{SeeAlso:JFormRuleUsername/test}}
<! removed transcluded page call, red link never existed >


===Examples===
===Examples===
Line 86: Line 86:
  format= ,,,
  format= ,,,
</dpl>
</dpl>
[[Category:Archived pages API16]]

Revision as of 02:54, 14 May 2013

Description

Method to test if a username is unique.

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax

test(&$field, &$values)
Parameter Name Default Value Description
&$field $field A reference to the form field.
&$values $values The values to test for validiaty.

Returns

mixed on invalid rule, true if the value is valid, false otherwise.

Defined in

libraries/joomla/form/rules/username.php

Importing

jimport( 'joomla.form.rules.username' );

Source Body

public function test(&$field, &$values)
{
        $return = false;
        $name   = (string)$field->attributes()->name;
        $key    = (string)$field->attributes()->field;
        $value  = isset($values[$key]) ? $values[$key] : 0;

        // Check the rule.
        if (!$key) {
                return new JException('Invalid Form Rule :: '.get_class($this));
        }

        // Check if the username is unique.
        $db = &JFactory::getDbo();
        $db->setQuery(
                'SELECT count(*) FROM `#__users`' .
                ' WHERE `username` = '.$db->Quote($values[$name]) .
                ' AND '.$db->nameQuote($key).' != '.$db->Quote($value)
        );
        $duplicate = (bool)$db->loadResult();

        // Check for a database error.
        if ($db->getErrorNum()) {
                return new JException('Database Error :: '.$db->getErrorMsg());
        }

        if (!$duplicate) {
                $return = true;
        }

        return $return;
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples

<CodeExamplesForm />