require_once "Pxxo/Widget/Form.php";
$params['inputs'] = array();
$params['inputs'][] = array('id' => 'id_de_mon_test2',
'label' => 'Mon champ text',
'type' => 'text',
'size' => 50,
'required' => true,
);
$o = new Pxxo_Widget_Form($params);
...
if ($o->getMode() == 'submit')
{
echo '';
echo 'print_r($o->getErrors());'."\n";
print_r($o->getErrors());
echo 'print_r($o->getResult());'."\n";
print_r($o->getResult());
}
Un formulaire avec une callback de validation personnalisée qui va se charger de vérifier que la valeur saisie est bien un entier positif :
require_once "Pxxo/Widget/Form.php";
function my_validate_callback($input)
{
$errors = array();
if (!is_numeric($input['result']) || $input['result'] < 0)
$errors[] = 'Ce champ doit impérativement être un entier positif';
return $errors;
}
$params['inputs'] = array();
$params['inputs'][] = array('id' => 'id_de_mon_nombre',
'label' => 'Entrez un entier positif',
'type' => 'text',
'validate_callback' => 'my_validate_callback',
);
$o = new Pxxo_Widget_Form($params);
...
Un formulaire avec une callback de validation personnalisée qui va se charger de vérifier que les deux mots de passes saisis sont identiques :
require_once "Pxxo/Widget/Form.php";
function my_validate_callback2($input, $form)
{
$errors = array();
$input_mdp = $form->getInputArray('id_de_mon_mdp');
if ($input_mdp['result'] != $input['result'])
$errors[] = 'Les mots de passe doivent être identique !';
return $errors;
}
$params['inputs'] = array();
$params['inputs'][] = array('id' => 'id_de_mon_mdp',
'label' => 'Entrez votre mot de passe',
'type' => 'password',
'size' => 10,
'minlength' => 4,
);
$params['inputs'][] = array('id' => 'id_de_mon_mdp2',
'label' => 'Confirmez votre mot de passe',
'type' => 'password',
'size' => 10,
'minlength' => 0,
'validate_callback' => 'my_validate_callback2',
);
$o = new Pxxo_Widget_Form($params);
...
Un formulaire avec une callback de validation par défaut qui sera appelée pour tous les champs. Ici on va simplement vérifier que les champs 'text' et 'textarea' contiennent bien les bons caractères.
require_once "Pxxo/Widget/Form.php";
$params = array();
function global_validate_callback($input)
{
$errors = array();
if (!preg_match('/[[:alpha:]]+/i',$input['result']))
$errors[] = 'Ce champ doit contenir impérativement une chaîne de caractères';
return $errors;
}
$params['validate_callback'] = 'global_validate_callback';
$params['inputs'] = array();
$params['inputs'][] = array('id' => 'id_de_mon_text',
'label' => 'Un input text',
'type' => 'text',
'value' => 'un texte'
);
$params['inputs'][] = array('id' => 'id_de_mon_textarea',
'label' => 'Un input textarea',
'type' => 'textarea',
'size' => array(30,5),
'value' => 'un texte long'
);
$o = new Pxxo_Widget_Form($params);
...