JFormRuleUsername/test: Difference between revisions
From Joomla! Documentation
m removing red link to edit, no existant pages |
m clean up |
||
| Line 2: | Line 2: | ||
Method to test if a username is unique. | Method to test if a username is unique. | ||
<! removed transcluded page call, red link never existed > | <! removed transcluded page call, red link never existed > | ||
| Line 70: | Line 68: | ||
</source> | </source> | ||
<! removed transcluded page call, red link never existed > | <! removed transcluded page call, red link never existed > | ||
Revision as of 14:03, 24 March 2017
Description
Method to test if a username is unique.
<! 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 transcluded page call, red link never existed >
Examples
<CodeExamplesForm />