input("csrf")->type("hidden")->value(""); } /** * Use our own template */ public function render($template="form.html", $custom=false) { $this->inputs["csrf"]->value(access::csrf_token()); return parent::render($template, $custom); } /** * Associate validation rules defined in the model with this form. */ public function add_rules_from($model) { foreach ($this->inputs as $name => $input) { if (isset($input->inputs)) { $input->add_rules_from($model); } if (isset($model->rules[$name])) { $input->rules($model->rules[$name]); } } } /** * Validate our CSRF value as a mandatory part of all form validation. */ public function validate() { $status = parent::validate(); access::verify_csrf(); return $status; } }