Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Grundlagen  Features  Formulare  Formularelemente  Basisformular  Validierung I  Validierung II  Längen-Test  RegExp-Test  Intro-Option  Custom Validators  Custom Validators II  Custom Validators III  Übersichtlichkeit  Defaults  Aliasnamen  Subelemente  JavaScript  XML  Layoutmanager  Pages  Wizards  Fazit  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Custom Validators II
Im folgenden Beispiel wird anhand
des Wertes einer Checkbox die Validierung für
ein Textfeld aktiviert und deaktiviert.
Die Methoden validationOn() und ValidationOff() erwarten eine
Liste von Elementen. Für jedes Element ist zu definieren welche
Default-Validatoren aktiviert bzw. deaktiviert werden sollen.
Die Namen der Default-Validatoren lauten:
- length
- valid (RegExp)
- intro (nur bei Selectboxen)
"all" umfaßt alle Default-Validatoren.
| Beispiel eines Custom Validators |
Top |
|
<?php require_once($DOCUMENT_ROOT . '/projekte/HTML_OOH_Form/form.php'); /** * Beispiel eines Custom Validators. * * @param object form */ function custom_validator(&$f) { print "\nAusgabe custom_validator()...\n"; print "... Wert der Checkbox 'check1' : '" . $f->getValue('check1') . "'..\n"; if ('on' == $f->getValue('check1')) {
print "... aktiviere alle\n"; $f->ValidationOn(array('t1' => 'all'));
} else {
print "... schalte RegEx aus...\n"; $f->ValidationOff( array( 't1' => 'valid' // 'check1' => 'length' // 'check1' => 'intro', // 'check1' => 'all' ) );
}
print "\n"; } // end func custom_validator $f = new form(); $f->CR_HTML = "\n";
$f->addElement( array( 'type' => 'checkbox', 'name' => 'check1', 'value'=> 'on', 'checked' => true, // Custom Validator anmelden 'validator' => 'custom_validator', 'validator_callback' => true ) ); $f->addElement( array( 'type' => 'text', 'name' => 't1', 'valid_regex' => '^[A-Z]+$', 'valid_icase' => true, 'valid_e' => 't1: Bitte nur a-z/A-Z verwenden.', 'minlength' => 3, 'length_e' => 'Achten Sie darauf mindestens drei Zeichen einzugeben.' ) ); $f->addElement(array('type' => 'submit', 'name' => 'b1', 'value' => 'Button1'));
$f->autoloadValues(); $f->Start(); $f->showElement('check1'); print "Der Default-Validator 'valid' (RegExp) soll beachtet werden.\n"; $f->showElement('t1'); $f->showElement('b1'); $f->Finish();
list($msg, $flags) = $f->validate(); print_r($msg); print_r($flags); ?>
|
|
Ausgabe
|
Top |
Ausgabe custom_validator_()...
... Wert der Checkbox 'check1' : 'on'..
... aktiviere alle
Achten Sie darauf mindestens drei Zeichen einzugeben. t1: Bitte nur a-z/A-Z verwenden.
Array
(
[t1] => Achten Sie darauf mindestens drei Zeichen einzugeben. t1: Bitte nur a-z/A-Z verwenden.
)
|
|
|
< ^ >
|