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

[已解决] CI如何实现实时表单验证?

[复制链接]
发表于 2009-12-30 13:21:41 | 显示全部楼层 |阅读模式
本帖最后由 baiyuxiong 于 2010-4-30 19:00 编辑

看了手册,CI提供的表单验证都是用户点击了提交按钮后进行验证。可不可以当用户填完一项,CI就验证一项。
比如:填完用户名,就验证用户名是否存在,填完密码,就验证密码是否相同等等。
ps:我知道用ajax可以实现,只是用AJAX的时候,如果验证失败,用户仍然点击提交按钮的话,Ajax就起不到作用了。
发表于 2009-12-30 14:08:26 | 显示全部楼层
这个和 CI 无关,JS 验证和 CI 的表单验证结合使用。
js 验证有很多类库,可以 google 一下。
js 验证就只做纯 js 验证,不需要经过服务器。
 楼主| 发表于 2009-12-30 14:16:55 | 显示全部楼层
我想用js验证用户名是否存在的话,是需要经过服务器的。
发表于 2009-12-30 15:40:58 | 显示全部楼层
用Ajax验证的时候,可以在提交按钮上添加

<input type="submit" name="Submit" value="提交" onclick="return check();" />

其中,你用JS写一个验证函数check(),如果验证失败,此函数返回false。这样就可以阻止提交了。
发表于 2009-12-30 15:46:51 | 显示全部楼层
至于怎么验证,那就看你的需要了,用原生JS写也可以,用jQuery等框架写也可以。

比如说,我的这个例子里面就是用jQuery实现实时验证:用户注册时实时判断用户名是否已被占用,如果已被占用则阻止用户提交表单。
发表于 2009-12-30 15:53:11 | 显示全部楼层
楼上正解。
这个东西和 CI 没什么关系,纯 PHP 怎么写,CI 也怎么写。
发表于 2009-12-30 16:09:41 | 显示全部楼层
楼主的情况只能用ajax实现

本版积分规则