original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: 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
docstring_tokens: Returns the validation test in javascript code