JFormRuleUsername/test: Difference between revisions
From Joomla! Documentation
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>[<! removed edit link to red link >]</nowiki> | ||
</span> | </span> | ||
<! 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>[<! removed edit link to red link >]</nowiki> | ||
</span> | </span> | ||
<! 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 />