AAAAassets/.htaccess000066600000000177151374764010007665 0ustar00 Order allow,deny Deny from all assets/auto_javascript_validation.js000066600000002016151374764010014027 0ustar00var AutoJavascriptValidation = new Class({ initialize: function(form_name, rules) { this.run(form_name, rules); }, run: function(form_name, rules) { var check_group = 1; for(rule in rules){ rules[rule].each(function(field){ var k = 0; if($chk($$("input[name='"+field+"']")[k]) && $$("input[name='"+field+"']")[k].get('type') == 'hidden'){ k = 1; } if($chk($$("input[name='"+field+"']")[k])){ $$("input[name='"+field+"']")[k].addClass("validate['"+rule+"']"); } if($chk($$("select[name='"+field+"']")[k])){ $$("select[name='"+field+"']")[k].addClass("validate['"+rule+"']"); } if($chk($$("textarea[name='"+field+"']")[k])){ $$("textarea[name='"+field+"']")[k].addClass("validate['"+rule+"']"); } if($chk($$("input[name='"+field+"[]']")[0])){ $$("input[name='"+field+"[]']").each(function(check){ check.addClass("validate['group["+check_group+"]']"); }); check_group = check_group + 1; } }); }; } });assets/index.html000066600000000000151374764010010045 0ustar00auto_javascript_validation.ctp000066600000014413151374764010012703 0ustar00
Auto JavaScript Validation
Header(array('fields' => 'Fields', 'help' => 'Help'), 'auto_javascript_validation_config_{n}'); ?> tabStart('fields'); ?> input('action_auto_javascript_validation_{n}_required_config', array('type' => 'text', 'label' => "Required", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of required fields names, these fields should exist in the data array in order to pass this check.")); ?> input('action_auto_javascript_validation_{n}_alpha_config', array('type' => 'text', 'label' => "Alpha", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain an alpha value.")); ?> input('action_auto_javascript_validation_{n}_alphanum_config', array('type' => 'text', 'label' => "Alpha Numeric", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain an alpha numeric value.")); ?> input('action_auto_javascript_validation_{n}_digit_config', array('type' => 'text', 'label' => "Digit", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain a digit value.")); ?> input('action_auto_javascript_validation_{n}_nodigit_config', array('type' => 'text', 'label' => "No Digit", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain a non digit value.")); ?> input('action_auto_javascript_validation_{n}_number_config', array('type' => 'text', 'label' => "Number", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain a number value.")); ?> input('action_auto_javascript_validation_{n}_email_config', array('type' => 'text', 'label' => "Email", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain an email value.")); ?> input('action_auto_javascript_validation_{n}_phone_config', array('type' => 'text', 'label' => "Phone", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain a phone value.")); ?> input('action_auto_javascript_validation_{n}_phone_inter_config', array('type' => 'text', 'label' => "International Phone", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain an international phone value.")); ?> input('action_auto_javascript_validation_{n}_url_config', array('type' => 'text', 'label' => "URL", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain URLs.")); ?> input('action_auto_javascript_validation_{n}_image_config', array('type' => 'text', 'label' => "Image", 'class' => 'medium_input', 'value' => '', 'smalldesc' => "Comma delimited list of fields names which should only contain images (jpg, jpeg, png, gif, bmp).")); ?> tabEnd(); ?> tabStart('help'); ?>

tabEnd(); ?>
index.html000066600000000000151374764010006543 0ustar00auto_javascript_validation.php000066600000001741151374764010012704 0ustar00 '1_validation', 'title' => 'Validation'); var $details = array('title' => 'Auto JavaScript Validation', 'tooltip' => 'Auto validate specific fields, useful only when your form has custom code.'); function run($form, $actiondata){ } function load($clear){ if($clear){ $action_params = array( 'required' => '', 'alpha' => '', 'alphanum' => '', 'digit' => '', 'nodigit' => '', 'number' => '', 'email' => '', 'phone' => '', 'phone_inter' => '', 'url' => '', 'image' => '' ); } return array('action_params' => $action_params); } } ?>cfaction_auto_javascript_validation.php000066600000004406151374764010014553 0ustar00params); $output = ''; $mainframe = JFactory::getApplication(); $document = JFactory::getDocument(); JHTML::_('behavior.mootools'); $uri = JFactory::getURI(); $document->addScript($uri->root().'administrator/components/com_chronoforms/form_actions/auto_javascript_validation/assets/auto_javascript_validation.js'); $rules = array('required', 'alpha', 'alphanum', 'digit', 'nodigit', 'number', 'email', 'phone', 'phone_inter', 'url', 'image'); ob_start(); ?> window.addEvent('domready', function() { get($rule, ''))){ $fields_list = explode(',', trim($params->get($rule, ''))); } foreach($fields_list as $k => $field){ $fields_list[$k] = "'".$field."'"; } $n_fields_list = implode(',', $fields_list); $object_list[] = "'".$rule."': [".$n_fields_list."]"; endforeach; ?> new AutoJavascriptValidation('form_name; ?>', ); }); form_params->get('dynamic_files', 0) === false){ $document->addScriptDeclaration("//"); }else{ //load the action class $form->loadActionHelper('load_js'); $CfactionLoadJsHelper = new CfactionLoadJsHelper(); $JSactiondata = new stdClass(); $JSactiondata->content1 = $script; $JSParams = new JParameter(''); $JSParams->set('dynamic_file', $form->form_params->get('dynamic_files', 0)); $JSactiondata->params = $JSParams->toString(); $CfactionLoadJsHelper->load($form, $JSactiondata); } //load validation files $form->loadActionHelper('show_html'); $CfactionShowHtmlHelper = new CfactionShowHtmlHelper(); $CfactionShowHtmlHelper->_loadValidationScripts($form); } } ?>.htaccess000066600000000177151374764010006363 0ustar00 Order allow,deny Deny from all cfaction_auto_javascript_validation.ctp000066600000000253151374764010014546 0ustar00loadAction($form, $actiondata); ?>