jufengdhj 发表于 2011-3-21 23:01:34

怎样重填表单?

我提交表单之后
$this->load->library ( 'form_validation' );

$this->form_validation->set_rules ( 'name', 'name', 'trim|required|min_length|max_length' );
$this->form_validation->set_rules ( 'desc', 'desc', 'trim|required|min_length|max_length' );
$this->form_validation->set_rules ( 'catid[]', 'catid', 'required' );

验证有错之后。 返回提交页面。重新填写提交的字段。

但是出现了问题。用 set_value()   只有在$this->form_validation->set_rules () 里面出现的字段才被重新填写了。
我看了源代码form_helper里面 首先检查有没有 validation_object 如果有就调用validation_object的方法 set_value()set_checkbox()......

form_validation 的代码我也看了。他是检查用被set_rules的值。


那就是说没有被form_validation->set_rules 的字段 是不能被重填的。

请问 这个问题是怎么解决的?

jufengdhj 发表于 2011-3-21 23:02:58

比如:我表单中 有个 size字段。但是没有设置rules也就是说我没校验他。

返回验证表单后 他的值就被填了空。

Hex 发表于 2011-3-22 02:19:44

这个很正常吧,没有设置过规则的,不属于验证类控制。
并且,我认为每个用户输入都必须验证,要假设每个用户都是要破坏你系统的人,安全意识比技术重要!

zhouli520 发表于 2011-3-22 14:14:31

写一个rules 不过给他一个trim验证,这样就OK咯
页: [1]
查看完整版本: 怎样重填表单?