Login Retreive lost passwordRegister
Search

Forum Index / Feedback / Ajaxvalidor voor mootools

[ This topic is solved ]

  elguapo 02 December 11 / 13:44  
Ik heb de ajax validator geschikt gemaakt voor mootools 1.4 ipv jquery. Interesse?

En is het geen idee om formhandler op github oid te zetten? Dan gaan dit soort aanpassingen ook makkelijker :)

  Johan Wiegel (Admin) 06 December 11 / 15:26  
Zelf hebben wij niet veel interesse, wij zweren bij jQuery, maar wellicht voor anderen wel interessant.

Stuur maar even naar info (at) formhandler.nl dan zullen we het eens bekijken. wellicht kunnen we het al losse download aanbieden?

  elguapo 06 December 11 / 16:50  
Changed at 06 December 11 / 16:52
Gaat ook niet om jullie maar om de userbase ;-)

Anyway, zoveel code is het niet:

ajax_validator.js
<?php
function FH_VALIDATEvalidatorfielderrorpathincludedirmsg )
{    
    var 
url path '/ajax/validate.php';
    var 
pars '?value=' + $(field).get('value')
                + 
'&field=' field
                
'&validator=' validator
                
'&includedir=' includedir
                
'&msg=' escapemsg )
                + 
'&msgbox=error_' error;
    var 
target 'error_'error;
    $(
target).load(url+pars);
}
?>


class.AjaxValidator.php
<?php

// line 87
$sScript  .= "  $('".$sField."').addEvent( '".$sEvent."', function(){FH_VALIDATE( '".$aField[1]->getValidator()."', '".$sField."', '".$sField."', '".FH_FHTML_DIR."', '".FH_INCLUDE_DIR."','".$sMsg."' )});\n";

// line 97
$oForm->_setJS'window.addEvent(\'domready\', function() {'.$sScript.'})'falsetrue );

// function validate
    
function Validate$aRequest$oValidator )
    {
        
// determin if there is more than one validator
        
if( $aRequest['validator'] != '' AND $aRequest['msg'] != '' AND isset( $aRequest['value'] ) )
        {
            if( 
strpos$aRequest['validator'], '|' ) > )
            {
                
$aValidators explode'|'$aRequest['validator'] );
            }
            else
            {
                
$aValidators = array( $aRequest['validator'] );
            }

            
// loop through validators
            
foreach( $aValidators AS $iKey => $sValidator )
            {
                if( 
is_object$oValidator ) && method_exists$oValidator$sValidator ) AND $sValidator != 'FH_CAPTCHA' )  // CAPTCHA can not be validated by AJAX
                
{
                    if( 
$oValidator->$sValidator$aRequest['value'] ) == false )
                    {
                        return 
"<script type=\"text/javascript\">
                        <!--//<![CDATA[    
                        $('"
.$aRequest['msgbox']."').addClass( 'fh_error' );
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_ok' );                                                
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_mandatory' );                                                
                        $('"
.$aRequest['msgbox']."').getPrevious('input').addClass( 'error' );
                        //]]>-->
                        </script>"
.stripslashes$aRequest['msg'] );                
                        exit;  
// stop if one validator fails
                    
}
                    elseif( empty( 
$aRequest['value'] ) )
                    {
                        return 
"<script type=\"text/javascript\">
                        <!--//<![CDATA[    
                        $('"
.$aRequest['msgbox']."').getPrevious('input').removeClass( 'error' );
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_error' );
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_ok' );
                        $('"
.$aRequest['msgbox']."').addClass( 'fh_mandatory' );    
                        //]]>-->                                            
                        </script>"
;
                        exit;
                    }
                    else
                    {
                        return 
"
                        <script type=\"text/javascript\">    
                        <!--//<![CDATA[    
                        $('"
.$aRequest['msgbox']."').set('html', '');
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_mandatory' );    
                        $('"
.$aRequest['msgbox']."').removeClass( 'fh_error' );
                        $('"
.$aRequest['msgbox']."').addClass( 'fh_ok' );        
                        $('"
.$aRequest['msgbox']."').getPrevious('input').removeClass( 'error' );
                        //]]>-->
                        </script>"
;
                        exit;
                    }
                }
            }
        }
    }

en natuurlijk regel 35 aanpassen zodat de juiste library geinclude wordtals dat nog niet gebeurd is:

$oForm->_setJSFH_FHTML_DIR."js/mootools-1.4.1.js"true ))

?>

  elguapo 06 December 11 / 16:50  
Oja, en is er een plan om github oid te gaan gebruiken? Dan zijn dit soort dingen ook makkelijker te regelen.

  Johan Wiegel (Admin) 08 December 11 / 10:13  
Er zijn geen plannen voor GitHub oid.

  Johan Wiegel (Admin) 08 December 11 / 10:19  
Juist omdat het om de userbase gaat:

kun je me de complete bestanden even mailen?
dan maken we er een aparte download van met een stukje beschrijving waarde bestanden te plaatsen.

dan hoeft men geen bestanden te bewerken, alleen te vervangen.

  elguapo 12 December 11 / 15:26  
Had even geen gelegenheid te reageren maar zal deze week de aanpassingen in de mail zetten.

  Top


powered by PHP-GLOBE   © 2004 - 2012 FormHandler. All rights reserved.   -   Open source license