value();
switch($value) {
case 'one':
$nv = 1;
break;
case 'two':
$nv = 2;
break;
case 'three':
$nv = 3;
break;
}
if ($nv == $otherval) {
return array(true, $value, false);
}
return array(false, $value, "input does not match selection");
}
function name($value, $name, $form) {
if (preg_match('/\d/', $value)) {
return array(false, $value, "numbers not allowed");
}
return array(true, $value, false);
}
}
$fm = new form('test', 'post');
$fm->method('post');
$fm->action($_SERVER['PHP_SELF']);
$fm[] = new form_input_text('name');
$fm['name']->attributes(array('size'=>10, 'maxlength'=>5));
$fm['name']->default_value('name');
$fm['name']->verify_using(array('v', 'name'));
$fm['name']->required();
$fm[] = new form_input_password('pass');
$fm['pass']->attributes(array('size'=>10, 'maxlength'=>10));
$fm['pass']->required();
$fm[] = new form_input_text('numbers');
$fm['numbers']->attributes(array('size'=>10, 'maxlength'=>5));
$fm['numbers']->default_value('');
$fm['numbers']->verify_using(array('v', 'numbers'));
$fm['name']->required();
$fm[] = new form_input_radio_series('num');
$fm['num']->options(array('1'=>'one', '2'=>'two', '3'=>'three'));
$fm['num']->default_value(3);
$fm['name']->required();
$fm[] = new form_input_select_series('xxx');
$fm['xxx']->options(array('1'=>'one', '2'=>'two', '3'=>'three', ''=>'select one'));
$fm['xxx']->default_value(0);
$fm['xxx']->required();
$fm[] = new form_input_hidden('hide', 'hello');
$fm[] = new form_textarea('story');
$fm['story']->attributes(array('rows'=>3, 'cols'=>10));
$fm[] = new form_input_checkbox('allow', 'yes');
$fm['allow']->label('allowed');
$fm[] = new form_input_image('pig');
$fm['pig']->attributes(array('src'=>'images/pig.png', 'height'=>50, 'width'=>50));
$fm[] = new form_button('doit1', 'doit1', array('type'=>'submit'));
$fm['doit1']->label('hit me');
$fm[] = new form_input_submit('doit2', 'doit2');
$fm[] = new form_input_reset('reset');
$form_is_valid = $fm->verify();
print ($form_is_valid ? "form is valid" : "form is invalid");
print " -- refresh";
print $fm->start();
print '';
print "| class | type | element | message | submitted value | html |
";
foreach ($fm as $k=>$v) {
print "";
print "| ".get_class($v)." | ";
print "".$v->type()." | ";
print "".$v->html()." | ";
print "".$v->message()." | ";
print "".$v->value()." | ";
print "".htmlentities($v->html())." | ";
print "
";
}
print "
";
print $fm->end();
print "\n";
print "\n";
print "";
print_r($_POST);
print "
";
#print "";
#print_r($fm);
#print "
";
?>