function getValidationScript(&$element, $elementName, $ruleData)
    {
        $reset =  (isset($ruleData['reset'])) ? $ruleData['reset'] : false;
        $rule  =& $this->getRule($ruleData['type']);
        if (!is_array($element)) {
            list($jsValue, $jsReset) = $this->_getJsValue($element, $elementName, $reset, null);
        } else {
            $jsValue = "  value = new Array();\n";
            $jsReset = '';
            for ($i = 0; $i < count($element); $i++) {
                list($tmp_value, $tmp_reset) = $this->_getJsValue($element[$i], $element[$i]->getName(), $reset, $i);
                $jsValue .= "\n" . $tmp_value;
                $jsReset .= $tmp_reset;
            }
        }
        $jsField = isset($ruleData['group'])? $ruleData['group']: $elementName;
        list ($jsPrefix, $jsCheck) = $rule->getValidationScript($ruleData['format']);
        if (!isset($ruleData['howmany'])) {
            $js = $jsValue . "\n" . $jsPrefix .
                  "  if (" . str_replace('{jsVar}', 'value', $jsCheck) . " && !errFlag['{$jsField}']) {\n" .
                  "    errFlag['{$jsField}'] = true;\n" .
                  "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" .
                  $jsReset .
                  "  }\n";
        } else {
            $js = $jsValue . "\n" . $jsPrefix .
                  "  var res = 0;\n" .
                  "  for (var i = 0; i < value.length; i++) {\n" .
                  "    if (!(" . str_replace('{jsVar}', 'value[i]', $jsCheck) . ")) {\n" .
                  "      res++;\n" .
                  "    }\n" .
                  "  }\n" .
                  "  if (res < {$ruleData['howmany']} && !errFlag['{$jsField}']) {\n" .
                  "    errFlag['{$jsField}'] = true;\n" .
                  "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" .
                  $jsReset .
                  "  }\n";
        }
        return $js;
    }
function getValidationScript(&$element, $elementName, $ruleData)
    {
        $reset =  (isset($ruleData['reset'])) ? $ruleData['reset'] : false;
        $rule  =& $this->getRule($ruleData['type']);
        if (!is_array($element)) {
            list($jsValue, $jsReset) = $this->_getJsValue($element, $elementName, $reset, null);
        } else {
            $jsValue = "  value = new Array();\n";
            $jsReset = '';
            for ($i = 0; $i < count($element); $i++) {
                list($tmp_value, $tmp_reset) = $this->_getJsValue($element[$i], $element[$i]->getName(), $reset, $i);
                $jsValue .= "\n" . $tmp_value;
                $jsReset .= $tmp_reset;
            }
        }
        $jsField = isset($ruleData['group'])? $ruleData['group']: $elementName;
        list ($jsPrefix, $jsCheck) = $rule->getValidationScript($ruleData['format']);
        if (!isset($ruleData['howmany'])) {
            $js = $jsValue . "\n" . $jsPrefix .
                  "  if (" . str_replace('{jsVar}', 'value', $jsCheck) . " && !errFlag['{$jsField}']) {\n" .
                  "    errFlag['{$jsField}'] = true;\n" .
                  "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" .
                  $jsReset .
                  "  }\n";
        } else {
            $js = $jsValue . "\n" . $jsPrefix .
                  "  var res = 0;\n" .
                  "  for (var i = 0; i < value.length; i++) {\n" .
                  "    if (!(" . str_replace('{jsVar}', 'value[i]', $jsCheck) . ")) {\n" .
                  "      res++;\n" .
                  "    }\n" .
                  "  }\n" .
                  "  if (res < {$ruleData['howmany']} && !errFlag['{$jsField}']) {\n" .
                  "    errFlag['{$jsField}'] = true;\n" .
                  "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" .
                  $jsReset .
                  "  }\n";
        }
        return $js;
    }
function getValidationScript ( & $ element , $ elementName , $ ruleData ) { $ reset = ( isset ( $ ruleData [ 'reset' ] ) ) ? $ ruleData [ 'reset' ] : false ; $ rule = & $ this -> getRule ( $ ruleData [ 'type' ] ) ; if ( ! is_array ( $ element ) ) { list ( $ jsValue , $ jsReset ) = $ this -> _getJsValue ( $ element , $ elementName , $ reset , null ) ; } else { $ jsValue = "  value = new Array();\n" ; $ jsReset = '' ; for ( $ i = 0 ; $ i < count ( $ element ) ; $ i ++ ) { list ( $ tmp_value , $ tmp_reset ) = $ this -> _getJsValue ( $ element [ $ i ] , $ element [ $ i ] -> getName ( ) , $ reset , $ i ) ; $ jsValue .= "\n" . $ tmp_value ; $ jsReset .= $ tmp_reset ; } } $ jsField = isset ( $ ruleData [ 'group' ] ) ? $ ruleData [ 'group' ] : $ elementName ; list ( $ jsPrefix , $ jsCheck ) = $ rule -> getValidationScript ( $ ruleData [ 'format' ] ) ; if ( ! isset ( $ ruleData [ 'howmany' ] ) ) { $ js = $ jsValue . "\n" . $ jsPrefix . "  if (" . str_replace ( '{jsVar}' , 'value' , $ jsCheck ) . " && !errFlag['{$jsField}']) {\n" . "    errFlag['{$jsField}'] = true;\n" . "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . $ jsReset . "  }\n" ; } else { $ js = $ jsValue . "\n" . $ jsPrefix . "  var res = 0;\n" . "  for (var i = 0; i < value.length; i++) {\n" . "    if (!(" . str_replace ( '{jsVar}' , 'value[i]' , $ jsCheck ) . ")) {\n" . "      res++;\n" . "    }\n" . "  }\n" . "  if (res < {$ruleData['howmany']} && !errFlag['{$jsField}']) {\n" . "    errFlag['{$jsField}'] = true;\n" . "    _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . $ jsReset . "  }\n" ; } return $ js ; }
Returns the validation test in javascript code

@param     mixed     Element(s) the rule applies to
@param     string    Element name, in case $element is not array
@param     array     Rule data
@access    public
@return    string    JavaScript for the rule
Returns the validation test in javascript code