关于模型中的验证规则,一直觉得是个好东西。首先model是依托数据表的结构生成的,比如一些入库的数据通过使用验证规则可以很方便的验证,无须再书写其他验证代码。代码精炼了,出错的概率值自然降低。本文介绍一下验证规则的使用,希望对需要的朋友有所帮助。0Yii2.0学习第16课:模型(Models)之标签的学习0Yii2.0学习第9课:使用 Gii 生成Model代码0Yii2.0学习第11课:使用 Gii生成Controller代码
工具/原料
1
LNMP环境
2
浏览器
方法/步骤
1
运行LNMP环境,查看我们之前创建过的hlong_user表(用户表),为了方便起见,我使用了明文保存密码:
2
新建注册控制器(app\controllers\)及页面,可以参考Yii2.0的自动代码生成功能:
3
参考我们之前学习的—模型(Models)的标签属性一栏,我们修改我们的控制器及视图,这个会应用到一些视图的用法,这个我们在后面的章节还会再学习,具体代码可查看views\register\index.php:
4
访问我们的register网页,效果如下。我们尝试什么都不输入然后点击提交,会发现以下提示,我们并没有在后台添加任何代码:
5
在浏览器页面右击鼠标,选择“查看元素”或“查看页面源代码”,会发现以下内容,该内容对应信息在views\register\index.php(这个时候我们会看到这种用好的好处之一是“代码少,信息全”):
6
打开我们的app\models\HlongUser.php,查看我们的验证规则:(1)定义了必填项;(2)定义了字段类型;(3)定义了字段长度。等等,我们可以通过修改该内容,来实现不同的验证。
7
在步骤6中,我们设置了字段的规则,那如何让他生效呢?很显然肯定是用户在提交内容(或修改内容)的过程中实现的,修改app\controllers\RegisterController.php文件,得到以下代码:$model->validate() 既是用来做验证用的。
8
重新访问register页面,输入不同的数据,点击“register”提交查看效果:(1)完全符合条件;(2)部分符合条件。(3)完全不符合条件。
上一篇:什么是子弹时间?