JFormValidator/validate
From Joomla! Documentation
< API16:JFormValidator
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Method to validate a group of fields.
<! removed transcluded page call, red link never existed >
Syntax[edit]
validate(&$fields, &$data)
Parameter Name | Default Value | Description |
---|---|---|
&$fields | $fields An array of fields to validate. | |
&$data | $data The data to validate. |
Returns[edit]
mixed Array on success, on error.
Defined in[edit]
libraries/joomla/form/formvalidator.php
Importing[edit]
jimport( 'joomla.form.formvalidator' );
Source Body[edit]
public function validate(&$fields, &$data)
{
$results = array();
foreach ($fields as $name => $field) {
// Get the data for the field.
$value = array_key_exists($name, $data) ? $data[$name] : null;
// Check if the field is required.
if ((string)$field->attributes()->required == 'true') {
// Check if the field value is empty.
if ($value === '') {
// The required field is empty!
if ($message = (string)$field->attributes()->message) {
$results[] = new JException(JText::_($message), 0, E_WARNING);
} else {
$results[] = new JException(JText::sprintf('Libraries_Form_Validator_Field_Required', JText::_((string)$field->attributes()->name)), 0, E_WARNING);
}
// We don't want to display more than one message per field so continue to the next one.
continue;
}
}
// Run the field validator.
$return = $this->_isValid($field, $data);
// Check for an error.
if (JError::isError($return)) {
return $return;
}
// Check if the field is valid.
if ($return === false) {
// The field failed validation.
if ($message = (string)$field->attributes()->message) {
$results[] = new JException(JText::_($message), 0, E_WARNING);
} else {
$results[] = new JException(JText::sprintf('Libraries_Form_Validator_Field_Invalid', (string)$field->attributes()->name), 0, E_WARNING);
}
}
}
return $results;
}
<! removed transcluded page call, red link never existed >
Examples[edit]
Code Examples[edit]