Home > Backend Development > PHP Tutorial > ThinkPHP自动验证规则中的confirm的作用是什么?

ThinkPHP自动验证规则中的confirm的作用是什么?

WBOY
Release: 2016-06-06 20:21:13
Original
2038 people have browsed it

一般验证规则是这样写的:

<code>   // 验证确认密码是否和密码一致
array('repassword','password','确认密码不正确。',0,'confirm'), 
    </code>
Copy after login
Copy after login

第四个参数是0,表示数据库中存在repassword这列的话则验证,但是自己写的代码,难道不知道数据库中是否存在这列吗?

如果没有这列,写这个验证规则不是很多余吗?

如果有这一列,参数直接写1(必须验证)不是更好吗?

另外一个疑问就是:数据库中有必要为同一个用户名存两个相同的密码吗?

回复内容:

一般验证规则是这样写的:

<code>   // 验证确认密码是否和密码一致
array('repassword','password','确认密码不正确。',0,'confirm'), 
    </code>
Copy after login
Copy after login

第四个参数是0,表示数据库中存在repassword这列的话则验证,但是自己写的代码,难道不知道数据库中是否存在这列吗?

如果没有这列,写这个验证规则不是很多余吗?

如果有这一列,参数直接写1(必须验证)不是更好吗?

另外一个疑问就是:数据库中有必要为同一个用户名存两个相同的密码吗?

confirm 字段不是为了你存数据库使用的。
使用场景一般是,用户注册、修改密码的时候,让用户输入两次密码
第一次是用户设置的密码,第二次是用户确认密码

confirm的作用就是验证表单中的两个字段是否相同
第4个参数有三个值可选:

<code>Model::EXISTS_VALIDATE 或者0 存在字段就验证 (默认)

Model::MUST_VALIDATE 或者1 必须验证

Model::VALUE_VALIDATE或者2 值不为空的时候验证
</code>
Copy after login

他说的存在字段并不是数据库存的字段,而是表单中的控件的name值,与数据库的那个字段不是同一个概念
默认的情况下是表单中有这个name值的控件才进行验证的

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template