JFormValidator/validate: Difference between revisions
From Joomla! Documentation
New page: ===Description===
Method to validate a group of fields.
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>Edit Descripton<now... |
No edit summary |
||
Line 17: | Line 17: | ||
!Description | !Description | ||
|- | |- | ||
| | | &$fields | ||
| | | | ||
| $fields An array of fields to validate. | | $fields An array of fields to validate. | ||
|- | |- | ||
| | | &$data | ||
| | | | ||
| $data The data to validate. | | $data The data to validate. |
Revision as of 10:15, 30 March 2010
Description
Method to validate a group of fields.
Template:Description:JFormValidator/validate
Syntax
validate(&$fields, &$data)
Parameter Name | Default Value | Description |
---|---|---|
&$fields | $fields An array of fields to validate. | |
&$data | $data The data to validate. |
Returns
mixed Array on success, on error.
Defined in
libraries/joomla/form/formvalidator.php
Importing
jimport( 'joomla.form.formvalidator' );
Source Body
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;
}
[Edit See Also] Template:SeeAlso:JFormValidator/validate
Examples
<CodeExamplesForm />