ThinkPHP自动验证规则中的confirm的作用是什么?
程序员文章站
2022-04-26 12:08:42
...
一般验证规则是这样写的:
// 验证确认密码是否和密码一致
array('repassword','password','确认密码不正确。',0,'confirm'),
第四个参数是0,表示数据库中存在repassword这列的话则验证,但是自己写的代码,难道不知道数据库中是否存在这列吗?
如果没有这列,写这个验证规则不是很多余吗?
如果有这一列,参数直接写1(必须验证)不是更好吗?
另外一个疑问就是:数据库中有必要为同一个用户名存两个相同的密码吗?
回复内容:
一般验证规则是这样写的:
// 验证确认密码是否和密码一致
array('repassword','password','确认密码不正确。',0,'confirm'),
第四个参数是0,表示数据库中存在repassword这列的话则验证,但是自己写的代码,难道不知道数据库中是否存在这列吗?
如果没有这列,写这个验证规则不是很多余吗?
如果有这一列,参数直接写1(必须验证)不是更好吗?
另外一个疑问就是:数据库中有必要为同一个用户名存两个相同的密码吗?
confirm 字段不是为了你存数据库使用的。
使用场景一般是,用户注册、修改密码的时候,让用户输入两次密码
第一次是用户设置的密码,第二次是用户确认密码
confirm的作用就是验证表单中的两个字段是否相同
第4个参数有三个值可选:
Model::EXISTS_VALIDATE 或者0 存在字段就验证 (默认)
Model::MUST_VALIDATE 或者1 必须验证
Model::VALUE_VALIDATE或者2 值不为空的时候验证
他说的存在字段并不是数据库存的字段,而是表单中的控件的name值,与数据库的那个字段不是同一个概念
默认的情况下是表单中有这个name值的控件才进行验证的
下一篇: 浅谈JavaScript中的原型模式
推荐阅读
-
ThinkPHP中的create方法与自动令牌验证实例教程
-
ThinkPHP中的create方法与自动令牌验证实例教程
-
ThinkPHP中的create方法与自动令牌验证实例教程_PHP
-
ThinkPHP中的create方法与自动令牌验证实例教程,thinkphpcreate
-
ThinkPHP中的create方法与自动令牌验证实例教程,thinkphpcreate_PHP教程
-
ThinkPHP中的create方法与自动令牌验证实例教程_PHP
-
ThinkPHP中的L()函数,主要作用是什么感觉一般很少用到??
-
ThinkPHP学习札记(十)在Model中完成自动验证前台的表单数据
-
ThinkPHP中的create方法与自动令牌验证实例
-
ThinkPHP自动验证规则中的confirm的作用是什么?