Changeset 1098

Show
Ignore:
Timestamp:
09/24/08 12:08:19 (4 months ago)
Author:
julieni
Message:

ticket #635: jForms: Add support of the required attribute on <checkbox>

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/jelix/CREDITS

    r1097 r1098  
    3333 - jTpl plugins: number_format modifier (#679) 
    3434 - jForms: Javascript error handling does not work for element <checkboxes> (#636) 
     35 - jForms: Add support of the required attribute on <checkbox> (#635) 
    3536 
    3637Bastien Jaillot (aka bastnic) 
  • trunk/lib/jelix/docs/ns/jforms_1.0.rng

    r907 r1098  
    127127       <ref name="control.common" /> 
    128128       <ref name="UI.attr.readonly" /> 
     129       <ref name="UI.attr.required" /> 
    129130       <ref name="UI.attr.defaultvalue" /> 
    130131       <optional><attribute name="valueoncheck" /></optional> 
  • trunk/lib/jelix/docs/ns/jforms_1.1.rng

    r1063 r1098  
    154154       <ref name="control.common" /> 
    155155       <ref name="UI.attr.readonly" /> 
     156       <ref name="UI.attr.required" /> 
    156157       <ref name="UI.attr.defaultvalue" /> 
    157158       <optional><attribute name="valueoncheck" /></optional> 
  • trunk/lib/jelix/forms/jFormsCompiler_jf_1_0.class.php

    r1067 r1098  
    44* @subpackage forms 
    55* @author     Laurent Jouanneau 
    6 * @contributor Loic Mathaud, Dominique Papin 
     6* @contributor Loic Mathaud, Dominique Papin, Julien Issler 
    77* @contributor Uriel Corfa Emotic SARL 
    88* @copyright   2006-2008 Laurent Jouanneau 
    99* @copyright   2007 Loic Mathaud, 2007 Dominique Papin 
    1010* @copyright   2007 Emotic SARL 
     11* @copyright   2008 Julien Issler 
    1112* @link        http://www.jelix.org 
    1213* @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
     
    186187            unset($attributes['valueonuncheck']); 
    187188        } 
     189        $this->attrRequired($source, $attributes); 
    188190        return false; 
    189191    } 
  • trunk/lib/jelix/forms/jFormsControl.class.php

    r1067 r1098  
    44* @subpackage  forms 
    55* @author      Laurent Jouanneau 
    6 * @contributor Loic Mathaud, Dominique Papin 
     6* @contributor Loic Mathaud, Dominique Papin, Julien Issler 
    77* @copyright   2006-2008 Laurent Jouanneau, 2007 Dominique Papin 
    88* @copyright   2007 Loic Mathaud 
     9* @copyright   2008 Julien Issler 
    910* @link        http://www.jelix.org 
    1011* @licence     http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file 
     
    223224    function check(){ 
    224225        $value = $this->container->data[$this->ref]; 
     226        if($this->required && $value == $this->valueOnUncheck) 
     227            return $this->container->errors[$this->ref] = jForms::ERRDATA_REQUIRED; 
    225228        if($value != $this->valueOnCheck && $value != $this->valueOnUncheck) 
    226229            return $this->container->errors[$this->ref] = jForms::ERRDATA_INVALID; 
  • trunk/testapp/modules/jelix_tests/tests/jforms.check_datas.html_cli.php

    r1030 r1098  
    44* @subpackage  unittest module 
    55* @author      Jouanneau Laurent 
    6 * @contributor 
     6* @contributor Julien Issler 
    77* @copyright   2007-2008 Jouanneau laurent 
     8* @copyright   2008 Julien Issler 
    89* @link        http://www.jelix.org 
    910* @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
     
    9091        $this->form->setData('nom','1'); 
    9192        $this->assertTrue($this->form->check()); 
     93         
     94        $ctrl->required = true; 
     95        $this->form->setData('nom',null); 
     96        $this->assertFalse($this->form->check()); 
     97        $this->form->setData('nom',''); 
     98        $this->assertFalse($this->form->check()); 
     99        $this->form->setData('nom','on'); 
     100        $this->assertTrue($this->form->check()); 
     101        $this->form->setData('nom','0'); 
     102        $this->assertFalse($this->form->check()); 
     103        $this->form->setData('nom','1'); 
     104        $this->assertTrue($this->form->check());         
    92105    } 
    93106 
  • trunk/testapp/modules/jelix_tests/tests/jforms.compiler.html_cli.php

    r1067 r1098  
    44* @subpackage  unittest module 
    55* @author      Jouanneau Laurent 
    6 * @contributor Loic Mathaud 
     6* @contributor Loic Mathaud, Julien Issler 
    77* @copyright   2007-2008 Jouanneau laurent 
    88* @copyright   2007 Loic Mathaud 
     9* @copyright   2008 Julien Issler 
    910* @link        http://www.jelix.org 
    1011* @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
     
    701702), 
    702703array( 
    703 '<checkbox ref="nom" xmlns="http://jelix.org/ns/forms/1.0" required="true"> 
    704     <label>Votre nom</label> 
    705 </checkbox>', 
    706 'jelix~formserr.attribute.not.allowed', 
    707 array('required','checkbox','myfile') 
    708 ), 
    709 array( 
    710704'<secret ref="pwd" defaultvalue="toto"  xmlns="http://jelix.org/ns/forms/1.0"> 
    711705<label>Votre mot de passe</label> 
  • trunk/testapp/modules/jelix_tests/tests/jforms.compiler_1_1.html_cli.php

    r1067 r1098  
    44* @subpackage  unittest module 
    55* @author      Jouanneau Laurent 
    6 * @contributor Loic Mathaud, Dominique Papin 
     6* @contributor Loic Mathaud, Dominique Papin, Julien Issler 
    77* @copyright   2007-2008 Jouanneau laurent 
    88* @copyright   2007 Loic Mathaud, 2008 Dominique Papin 
     9* @copyright   2008 Julien Issler 
    910* @link        http://www.jelix.org 
    1011* @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
     
    900901), 
    901902array( 
    902 '<checkbox ref="nom" xmlns="http://jelix.org/ns/forms/1.1" required="true"> 
    903     <label>Votre nom</label> 
    904 </checkbox>', 
    905 'jelix~formserr.attribute.not.allowed', 
    906 array('required','checkbox','myfile') 
    907 ), 
    908 array( 
    909903'<secret ref="pwd" defaultvalue="toto"  xmlns="http://jelix.org/ns/forms/1.1"> 
    910904<label>Votre mot de passe</label> 
Download in other formats: Unified Diff Zip Archive