用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2713|回复: 3
收起左侧

[已解决] 怎样重填表单?

[复制链接]
发表于 2011-3-21 23:01:34 | 显示全部楼层 |阅读模式
我提交表单之后
$this->load->library ( 'form_validation' );

$this->form_validation->set_rules ( 'name', 'name', 'trim|required|min_length[4]|max_length[100]' );
$this->form_validation->set_rules ( 'desc', 'desc', 'trim|required|min_length[10]|max_length[1000]' );
$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 的字段 是不能被重填的。

请问 这个问题是怎么解决的?
 楼主| 发表于 2011-3-21 23:02:58 | 显示全部楼层
比如:  我表单中 有个 size字段。  但是没有设置rules  也就是说我没校验他。

返回验证表单后 他的值就被填了空。
发表于 2011-3-22 02:19:44 | 显示全部楼层
这个很正常吧,没有设置过规则的,不属于验证类控制。
并且,我认为每个用户输入都必须验证,要假设每个用户都是要破坏你系统的人,安全意识比技术重要!
发表于 2011-3-22 14:14:31 | 显示全部楼层
写一个rules 不过给他一个trim验证,这样就OK咯

本版积分规则