Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JFormRuleEmail
+ Graphe d'héritage de JFormRuleEmail:
+ Graphe de collaboration de JFormRuleEmail:

Liste de tous les membres

Fonctions membres publiques

 test (SimpleXMLElement $element, $value, $group=null, JRegistry $input=null, JForm $form=null)

Attributs protégés

 $regex = '^[a-zA-Z0-9.!#$%&‚Äô*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$'
- Attributs protégés inherited from JFormRule
 $modifiers

Description détaillée

Définition à la ligne 19 du fichier email.php.


Documentation des fonctions membres

JFormRuleEmail::test ( SimpleXMLElement  $element,
  $value,
  $group = null,
JRegistry  $input = null,
JForm  $form = null 
)

Method to test the email address and optionally check for uniqueness.

Paramètres:
SimpleXMLElement$elementThe SimpleXMLElement object representing the <field> tag for the form field object.
mixed$valueThe form field value to validate.
string$groupThe field name group control value. This acts as as an array container for the field. For example if the field has name="foo" and the group value is set to "bar" then the full field name would end up being "bar[foo]".
JRegistry$inputAn optional JRegistry object with the entire data set to validate against the entire form.
JForm$formThe form object for which the field is being tested.
Renvoie:
boolean True if the value is valid, false otherwise.
Depuis:
11.1

Réimplémentée à partir de JFormRule.

Définition à la ligne 45 du fichier email.php.

Références JStringPunycode\emailToPunycode(), et JFactory\getDbo().

{
// If the field is empty and not required, the field is valid.
$required = ((string) $element['required'] == 'true' || (string) $element['required'] == 'required');
if (!$required && empty($value))
{
return true;
}
// If the tld attribute is present, change the regular expression to require at least 2 characters for it.
$tld = ((string) $element['tld'] == 'tld' || (string) $element['tld'] == 'required');
if ($tld)
{
$this->regex = '^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]{2,})$';
}
// Determine if the multiple attribute is present
$multiple = ((string) $element['multiple'] == 'true' || (string) $element['multiple'] == 'multiple');
if (!$multiple)
{
// Handle idn e-mail addresses by converting to punycode.
// Test the value against the regular expression.
if (!parent::test($element, $value, $group, $input, $form))
{
return false;
}
}
else
{
$values = explode(',', $value);
foreach ($values as $value)
{
// Handle idn e-mail addresses by converting to punycode.
// Test the value against the regular expression.
if (!parent::test($element, $value, $group, $input, $form))
{
return false;
}
}
}
// Check if we should test for uniqueness. This only can be used if multiple is not true
$unique = ((string) $element['unique'] == 'true' || (string) $element['unique'] == 'unique');
if ($unique && !$multiple)
{
// Get the database object and a new query object.
$query = $db->getQuery(true);
// Build the query.
$query->select('COUNT(*)')
->from('#__users')
->where('email = ' . $db->quote($value));
// Get the extra field check attribute.
$userId = ($form instanceof JForm) ? $form->getValue('id') : '';
$query->where($db->quoteName('id') . ' <> ' . (int) $userId);
// Set and query the database.
$db->setQuery($query);
$duplicate = (bool) $db->loadResult();
if ($duplicate)
{
return false;
}
}
return true;
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

JFormRuleEmail::$regex = '^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$'
protected

Réimplémentée à partir de JFormRule.

Définition à la ligne 28 du fichier email.php.


La documentation de cette classe a été générée à partir du fichier suivant :