thinkphp登录和注册都会进行唯一性验证,怎么处理

array('username','','出错啦!帐号名称已经存在!',0,'unique',self::MODEL_BOTH), 是说只要新增或修改的时候验证

create时会通过是否有主键数据来判断更新或新增,而登陆时一般都不会传入主键的,即用户id,所以会判断为新增。

因为登录是过程create方法是没有主键Id传入的,Thinkphp会将登录过程使用create方法作为新增过程来进行自动验证,导致在登录过程输入正确的用户名反而验证不惟一。最佳操作:在登录过程不进行create方法操作,将不进行数据验证,完全依赖前台javascript进行过滤,过滤成功后即使错误数据也无所谓,因为根本不会写入数据库。

你可能感兴趣的:(thinkphp登录和注册都会进行唯一性验证,怎么处理)