ThinkPHP自动验证的问题
ThinkPHP3.2上有一点不懂,就是自动验证里的验证条件:self::EXISTS_VALIDATE或者0存在字段就验证(默认)self::VALUE_VALIDAT...
ThinkPHP3.2上有一点不懂,就是自动验证里的验证条件:
self::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
self::VALUE_VALIDATE或者2 值不为空的时候验证
self::MUST_VALIDATE 或者1 必须验证
这三个有什么不同?请通过一些例子(例子大概就行,不用太详细),详细解答一下
只要是搞不清楚:‘self::EXISTS_VALIDATE 或者0 存在字段就验证’ 和 ‘self::VALUE_VALIDATE或者2 值不为空的时候验证’;它们两个有什么不同(举个例子)
通过表单提交的数据,字段不是一定会存在的吗?
如果这样写会怎样:array('title','require','标题必须,self::EXISTS_VALIDATE ),这样是会发生什么情况?
没什么分了,只有这么一点,不好意思了 展开
self::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
self::VALUE_VALIDATE或者2 值不为空的时候验证
self::MUST_VALIDATE 或者1 必须验证
这三个有什么不同?请通过一些例子(例子大概就行,不用太详细),详细解答一下
只要是搞不清楚:‘self::EXISTS_VALIDATE 或者0 存在字段就验证’ 和 ‘self::VALUE_VALIDATE或者2 值不为空的时候验证’;它们两个有什么不同(举个例子)
通过表单提交的数据,字段不是一定会存在的吗?
如果这样写会怎样:array('title','require','标题必须,self::EXISTS_VALIDATE ),这样是会发生什么情况?
没什么分了,只有这么一点,不好意思了 展开
展开全部
1、‘self::EXISTS_VALIDATE 或者0 存在字段就验证’ 和 ‘self::VALUE_VALIDATE或者2 值不为空的时候验证’
假设数据库有用户名、密码、地址、邮件4个字段,但是更新个人信息时,网页上只提供了地址、邮件、密码三个字段的修改,而当你修改的时候,你也许只写了密码和邮件,地址是空着的,这样区别就出来了啊
2、通过表单提交的数据,字段不是一定会存在的吗?
是的,字段一定存在,但是字段的值可能为空啊
3、array('title','require','标题必须,self::EXISTS_VALIDATE )
如果前段提交的数据中含有title字段,那么要求title的值不能为空
假设数据库有用户名、密码、地址、邮件4个字段,但是更新个人信息时,网页上只提供了地址、邮件、密码三个字段的修改,而当你修改的时候,你也许只写了密码和邮件,地址是空着的,这样区别就出来了啊
2、通过表单提交的数据,字段不是一定会存在的吗?
是的,字段一定存在,但是字段的值可能为空啊
3、array('title','require','标题必须,self::EXISTS_VALIDATE )
如果前段提交的数据中含有title字段,那么要求title的值不能为空
更多追问追答
追问
首先谢谢
关于您对我第1个问题的回答:
既然地址是空着的,那么不也是“self::VALUE_VALIDATE或者2 值不为空的时候验证”吗?那它和“字段存在就验证”有什么差别?
另外,如果数据库没有某个字段,而表单有,那么是否还会进行 模式1存在字段就验证 ?
追答
1、假设对email字段填写的邮箱格式的验证:
array('email','email','邮箱格式不对',self::EXISTS_VALIDATE );
array('email','email','邮箱格式不对',self::VALUE_VALIDATE );
如果你的email没填就提交了,那么对于第一种验证规则,立马提示提交失败。但是第二种则不然,因为你没填值为空,那他就不验证了。
所以EXISTS_VALIDATE是对必填项的验证,第二种一般是对可选项的验证。
2、是的。只要前台表单中的字段在验证规则里出现,那就会根据规则验证;但是最终能插入数据库的只有数据库存在的表单。这个很有用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询