如果在User 模型中有定义:
validates_length_of :password,:within => 6..40
此时如果想使用如下更新user的元素
@user.update_attributes(:email => params[:user][:email], :im => params[:user][:im])
就会因为密码校检不通过而失敗
在这里 http://www.iteye.com/topic/177000 看到这問題,看到里面的解决方案都不算很好,于是另开一贴记下自己的看法
解决方案就是使用如下来定义user的模型:
validates_length_of :password,:within => 6..40,:if => :password_required?
def password_required?
hashed_password.blank? || !password.blank?
end
这样就是只有 在用户没有密码时 或者 用户输入含有 password 部分 才要求校检密码,OK問題应该完美解决了
分享到:
- 2008-11-03 20:57
- 浏览 1736
- 评论(7)
- 论坛回复 / 浏览 (7 / 2926)
- 查看更多
相关推荐
7. **Best Practices**:在实际开发中,除了基础验证,我们还应遵循最佳实践,如使用HTTPS保护数据安全,使用哈希和盐值存储密码以增加安全性,以及利用HTML5的`formnovalidate`属性允许用户跳过某些验证。...
此选项允许MySQL在启动时跳过权限校验,从而任何人都可以不需要密码直接访问数据库。然而,出于安全考虑,通常还会加上skip-networking选项,让mysqld不监听任何TCP/IP连接请求,从而只允许本机访问。具体操作步骤...
在这个目录下,启动MySQL服务,并跳过权限校验,以便能够无需密码登录。可以通过输入命令"mysqld-nt --skip-grant-tables"来实现这一点。然后,在一个新的命令行窗口中输入"mysql"命令,进入MySQL命令行界面。 进入...
如果忘记密码,可以在my.ini配置文件中添加`skip-grant-tables`字段来跳过密码验证。 数据表操作是数据库管理的核心。创建数据表的命令是`CREATE TABLE`,其中可以定义字段名、字段类型、字段属性和表选项。字段...
路由器将以非正常模式启动,跳过NVRAM中的配置。 5. **进入特权模式** 路由器启动后,会进入特权执行模式(ENABLE模式)。此时,输入`config mem`命令,这将使路由器使用内存中的配置,而不是NVRAM中的配置。 6. ...
在JavaScript中,表单验证是前端开发中必不可少的一部分,它主要用于确保用户输入的数据符合预期的格式和要求。本文将深入探讨如何使用JavaScript来验证表单中的值是否发生改变,以便在用户提交表单前进行必要的数据...
此块有助于帮助 WinRAR 安全跳过扩展数据,如附在压缩文件后 的数字签名; c) RAR 5.0 压缩文件不支持 arcname.rNN 风格的旧分卷名,只使用 arcname.partN.rar 卷名; d) RAR 4.x 和 RAR 5.0 都不再支持文件...
4. 腾讯数据迁移平台 DTS 配置流程中,需要创建 DTS 数据迁移服务,选择迁移类型和库列表,然后启动迁移,但可以跳过 MySQL 版本的检查。 5. 云数据库 MySQL 初始化时,必选项包括默认字符集、默认端口号、表名是否...
SQL*Loader默认使用直接路径加载,这种模式下,数据直接写入数据文件,跳过了Redo日志,从而提高了导入速度。但要注意,这可能导致并发问题,因为在直接路径加载期间,表可能不可用于其他用户。 8. **使用游标加载...
- 权限控制与校验,包括用户、角色和资源的管理,以及前端页面对权限资源的显示。 - **多数据源的使用**:文档说明了如何配置和使用多个数据源。 - **分页操作**:涵盖了简单查询和复杂查询的分页方法,以及如何...
`@SkipValidation`注解用于跳过该方法的字段验证,如果你需要对用户名和密码进行校验,可以使用Struts2的注解或者自定义拦截器来实现。 在实际开发中,登录功能可能会涉及到更多复杂的操作,如会话管理、密码加密、...
因此,设置错误处理机制,如跳过错误行或记录错误日志,是非常重要的。 7. 性能优化:对于大量数据,可能需要考虑分批导入,以减少内存占用和提高导入速度。同时,合理利用索引可以提升查询性能,但导入时需注意...
1、系统修护中增加数据校验,校验当前库存是否正确,前提是中间没有删除过数据(vOtherInOutDetail.sql,pcdMonthAudit.sql,oldONHAND.sql,pcdInsOldOnHand.sql,vInOutDetail.sql,errONHAND.sql,CheckOnHandQty...
这些参数包括但不限于btnSubmit(提交按钮的选择器)、btnReset(重置按钮的选择器)、tipType(提示信息类型)、ignoreHidden(是否忽略隐藏字段)、dragonfly(值为空时是否跳过验证)、tipSweep(是否仅在表单...
4. **跳过指定数量记录的分页查询:** - 使用`SELECT TOP m-n+1 * FROM 表名 WHERE (id NOT IN (SELECT TOP n-1 id FROM 表名))`来实现。 5. **随机排序分页查询:** - 使用`ORDER BY NEWID()`或`RAND()`等函数对...
- **Authenticate阶段**:进行身份验证,如果未启用验证则直接跳过此阶段。 - **Network阶段**:配置网络层参数,如IP地址。 - **Terminate阶段**:关闭链路前的最后阶段,释放资源。 综上所述,HDLC协议和PPP协议...
其中,`skip-grant-tables`是一个重要的配置项,它的作用是让MySQL启动时跳过权限校验,这对于首次安装和配置MySQL服务时尤其有用,因为在默认情况下,服务启动时需要验证root账户的登录权限。 配置完成后,可以...
当客户端和服务器再次连接时,如果发现之前的会话存在于会话缓存中,可以跳过部分握手步骤,直接使用之前协商的密钥和参数,显著减少握手时间。 3. 重建连接 重建连接主要是指在会话中断或超时后,客户端和服务器...