Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Grundlagen  JavaScript  Aktivierung  Validierungstypen  JS-Codevariante I  JS-Codevariante II  JS_README  Custom Validators  Custom Validators II  XML  Layoutmanager  Pages  Wizards  Fazit  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Custom Validators II
Das untenstehende Code-Beispiel demonstriert
die Detailunterschiede der JavaScript API zur
Validierung gegenüber der PHP API.
| Custom Validators in JavaScript |
Top |
|
<?php require_once($DOCUMENT_ROOT . '/projekte/HTML_OOH_Form/form.php'); define('FORM_FILE_DIR', $DOCUMENT_ROOT . '/projekte/'); function custom_validator(&$f) { if ('on' == $f->getValue('check1')) { $f->ValidationOn(array('t1' => 'all')); } else { $f->ValidationOff( array( 't1' => 'valid' // 'check1' => 'length' // 'check1' => 'intro', // 'check1' => 'all' ) ); } } // end func custom_validator $f = new form('html_name'); $f->setJSMode('weak'); $f->CR_HTML = "\n";
$f->addElement( array( 'type' => 'date', 'name' => 'date1', 'format'=> 'm.Y' ) ); $f->addElement( array( 'type' => 'checkbox', 'name' => 'check1', 'value'=> 'on', 'checked' => true, // Custom Validator anmelden 'validator' => 'custom_validator', 'validator_callback' => true, // JavaScript Custom Validator 'js_validator' => ' function custom_validator(form) { alert("Parameter form:\n" + form.toString()); var v = form.get_value(form, "check1"); // wer nach dem Format fragt, muß nachsitzen alert("Rückgabewert von form.get_value(form, check1): " + v.toString()); alert("Rückgabewert von form.get_value(form, date1): " + form.get_value(form, "date1").toString());
// Achtung: Vergleich mit v[0], nicht v! if ("on" == v[0]) {
// schalte Validierung ein für: // l: length // r: RegExp (valid) // i: intro form.val_on("t1", "lri"); // Fehlermeldung setzen form.set_err("t1", "Schalte Validierung ein.");
} else {
// schalte RegExp Validierung aus form.val_off("t1", "r"); // Fehlermeldung setzen form.set_err("t1", "Schalte Validierung für RegExp aus."); }
} ' ) ); $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'); print "\n"; $f->showElement('date1'); $f->showElement('b1'); $f->Finish();
list($msg, $flags) = $f->validate(); print_r($msg); print_r($flags); ?>
|
|
Ausgabe
|
Top |
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.
)
|
|
|
< ^ >
|