isJSValidateEnaled()) return ""; sfContext::getInstance()->getResponse()->addJavascript('/sfDynamicsFormBuilder/js/validate.js', 'last'); if (sfContext::getInstance()->getRequest()->isXmlHttpRequest()) return javascript_include_tag(javascript_path("/sfDynamicsFormBuilder/js/validate.js")) . javascript_tag("if (! validation_rule) { var validation_rule = new Hash(); } validation_rule.merge(". JSON::encode($builder->getAllValidateJSCode()) .")"); else return javascript_tag("if (! validation_rule) { var validation_rule = new Hash(); } validation_rule.merge(". JSON::encode($builder->getAllValidateJSCode()) .")"); } /** * Get Builder form tag. * @param sfDynamicsFormBuilder * @param array HTML option for the form. */ function sfDFB_form_tag($builder, $html_option = array()) { $preset = array("name"=>$builder->getFormName()); if ($builder->isJSValidateEnaled()) $preset['onSubmit'] = 'return validate(this);'; if ($builder->isMultiPartForm()) $preset['multipart'] = 'true'; return form_tag($builder->getActionURL(), array_merge($preset, $html_option)); } /** * Get Builder remote form tag. * @param sfDynamicsFormBuilder * @param array HTML option for the form. * @see form_remote_tag */ function sfDFB_remote_form_tag($builder, $url_option = array(), $html_option = array()) { $url_option['url'] = $builder->getActionURL(); $url_option['form'] = true; if ($builder->isJSValidateEnaled()) $onsubmit = 'if (validate(this)) {' . remote_function($url_option) . '; } return false;'; else $onsubmit = remote_function($url_option) . '; return false;'; $preset = array("name"=>$builder->getFormName(), "onSubmit"=>"$onsubmit"); $html_option = array_merge($preset, $html_option); return tag('form', $html_option, true); } ?>