|
ulf-wendel.de   
|
|
 Home < PHP Schulung  < OOH Forms  < JavaScript  < Custom Validators II    |       |  
Print Version    
---
|
|
 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
Der Default-Validator 'valid' (RegExp) soll beachtet werden. .
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. )

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/schulung/ooh/js/custom2.php   |   Stand: 16.11.2001   |   © Ulf Wendel   
|
| --- |

0.043 s Bearbeitungszeit, 0.002 s IT[X], 0.005 s Menu 3