- 浏览: 595705 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (332)
- PHP (92)
- JS/Css (38)
- Mysql (12)
- apache (7)
- magento (22)
- 杂淡 (1)
- snoopy (2)
- 安全 (1)
- YII (33)
- 网络编程 (3)
- HTML (4)
- editplus (1)
- phpcms (1)
- 软件 (1)
- kindeditor (2)
- android (35)
- java (1)
- Zend (21)
- Git (4)
- smarty (1)
- shell (0)
- svn (7)
- linux (1)
- 支付宝 (1)
- jquery (5)
- 微信 (3)
- thinkPHP (9)
- sqlyog (1)
- TCP/IP学习 (1)
- 服务器 (1)
- phpExcel (2)
- sql server (1)
- 我的工作 (0)
- 销售 (1)
- HTML5 (1)
- 接口开发 (0)
- memcache (2)
- jquery-weui (1)
- laravel (4)
最新评论
-
天使建站:
http://www.aijquery.cn/Html/bia ...
jquery searchableselect用法 -
天使建站:
http://www.aijquery.cn/Html/bia ...
jquery searchableselect用法 -
hudeyong926:
这技术太老了
PHP生成桌面快捷方式 -
hnlixf:
参考 http://www.jb51.net/article/ ...
ThinkPHP 3.3.2使用PHPExcel实现Excel数据导入导出完整实例 -
hudeyong926:
magento,清空购物车中所有的产品和session
先看一下例子:
public function rules() { return array( array('username, password', 'required'), array('rememberMe', 'boolean'), array('password', 'authenticate'), ); } public function authenticate($attribute,$params) { $this->_identity=new UserIdentity($this->username,$this->password); if(!$this->_identity->authenticate()) $this->addError('password','错误的用户名或密码。'); }
上述代码指定:username
和 password
为必填项, password
应被验证(authenticated),rememberMe
应该是一个布尔值。
rules()
返回的每个规则必须是以下格式:
array('AttributeList', 'Validator', 'on'=>'ScenarioList', ...附加选项)
其中 AttributeList(特性列表)
是需要通过此规则验证的特性列表字符串,每个特性名字由逗号分隔;Validator(验证器)
指定要执行验证的种类;on
参数是可选的,它指定此规则应被应用到的场景列表; 附加选项是一个名值对数组,用于初始化相应验证器的属性值。
预定义的验证器别名的完整列表:
-
boolean
: CBooleanValidator 的别名, 确保特性有一个 CBooleanValidator::trueValue 或CBooleanValidator::falseValue 值。 -
captcha
: CCaptchaValidator 的别名,确保特性值等于 CAPTCHA 中显示的验证码。 -
compare
: CCompareValidator 的别名,确保特性等于另一个特性或常量。 -
email
: CEmailValidator 的别名,确保特性是一个有效的Email地址。 -
default
: CDefaultValueValidator 的别名,指定特性的默认值。 -
exist
: CExistValidator 的别名,确保特性值可以在指定表的列中可以找到。 -
file
: CFileValidator 的别名,确保特性含有一个上传文件的名字。 -
filter
: CFilterValidator 的别名,通过一个过滤器改变此特性。 -
in
: CRangeValidator 的别名,确保数据在一个预先指定的值的范围之内。 -
length
: CStringValidator 的别名,确保数据的长度在一个指定的范围之内。 -
match
: CRegularExpressionValidator 的别名,确保数据可以匹配一个正则表达式。 -
numerical
: CNumberValidator 的别名,确保数据是一个有效的数字。 -
required
: CRequiredValidator 的别名,确保特性不为空。 -
type
: CTypeValidator 的别名,确保特性是指定的数据类型。 -
unique
: CUniqueValidator 的别名,确保数据在数据表的列中是唯一的。 -
url
: CUrlValidator 的别名,确保数据是一个有效的 URL。下面我们列出了几个只用这些预定义验证器的示例:
// 用户名为必填项 array('username', 'required'), // 用户名必须在 3 到 12 个字符之间 array('username', 'length', 'min'=>3, 'max'=>12), // 在注册场景中,密码password必须和password2一致。 array('password', 'compare', 'compareAttribute'=>'password2', 'on'=>'register'), // 在登录场景中,密码必须接受验证。 array('password', 'authenticate', 'on'=>'login'),
大家可能比较郁闷一点,这么多预定义的验证类,他们的属性都有哪些呢?比如上面红色部门,我怎么确定每个验证器类要用到哪些?其实很简单。
点开每一个类,都会看到类似图片上的东西,点击Properties,会看到验证器类的全部属性,只要看懂他们什么意思就行了。
发表评论
-
PHP flock文件锁定详细说明
2020-02-04 12:44 0参考资料 https://blog.csdn.net ... -
composer install,require,install归纳总结
2019-11-25 11:22 660require中引用的包,在线上线下的项目中都会使用,re ... -
电商系列---mysql高并发超库存卖问题
2018-01-22 16:04 1448参考http://blog.csdn.net/wula ... -
如何判断微信内置浏览器 MicroMessenger
2018-01-13 19:02 1844function is_weixin(){ v ... -
PHP中截取UTF-8中文字符串
2017-12-08 11:08 526/** * * @todo 截取中文字符串不 ... -
php使用file_get_contents()时出现错误Unable to find the wrapper “https” – did
2017-02-27 15:36 1623file_get_contents()获取https ... -
PHP中imagecopyresampled参数详解
2016-12-16 17:53 512bool imagecopyresampled ( reso ... -
获取当前页面完整URL地址
2016-12-08 15:43 737function get_url() { ... -
PHP安装Zend Guard Loader
2016-10-10 13:37 1281很简单,二步搞定。 1,下载 zend guard lo ... -
PHP生成桌面快捷方式
2016-09-08 10:24 6601, <a href="shortcut. ... -
php读取并保存base64编码的图片
2016-06-08 16:05 1846<?php header('Content-type ... -
PHP概率算法实例
2016-05-17 14:55 602<?php class Choujian ... -
php curl 伪造IP来源referer来源的实例代码
2016-05-17 11:29 1497curl发出请求的文件fake_ip.php ... -
php之curl实现http与https请求的方法
2016-05-17 11:15 1269常规curl请求: $url = 'http://www. ... -
PHP文件file缓存实现方式
2016-05-16 14:52 466<?php $cachFile = './index ... -
PHP并发访问实例代码
2016-05-16 11:47 426<?php $start=$_GET['s ... -
curl_init()和curl_multi_init()多线程的速度比较
2016-05-16 11:43 848php中curl_init()的作用很 ... -
PHP中使用cURL实现Get和Post请求的方法
2016-05-16 11:36 3771.cURL介绍 cURL 是一个利用URL语法规定 ... -
php apache 使用cors实现跨域
2016-05-04 10:23 3864apaceh 配置: <VirtualHost * ... -
php,phpQuery轻松采集网页内容
2016-04-22 18:01 766phpQuery是一个基于PHP的服务端开源项目,它可以让PH ...
相关推荐
### YII框架数据验证规则详解 #### 一、引言 在Web开发中,数据验证是确保应用程序安全性和用户体验的关键步骤之一。YII框架作为一款高效、安全且专业的PHP Web开发框架,提供了丰富的数据验证机制。本文将详细...
2. 自定义验证规则的实现:开发者可以通过在模型(Model)中定义验证规则来实现自定义验证。通过rules()方法可以定义需要验证的属性以及对应的验证方法。例如,在提供的代码片段中,自定义验证方法...
`rules` 是 Yii2 中用于定义模型(Model)验证规则的关键特性,它允许我们自定义复杂的验证逻辑。 在描述的场景中,我们需要处理两个字段 A 和 B。如果 A 的值为 1,则 B 必须有值;而当 A 的值为 2 时,B 可以为空...
在Yii框架中,Model的rules()方法用于定义数据规则,这些规则将用于验证模型数据的合法性。同时,rules()方法还支持一些特殊的规则,其中之一就是default,用来给未提交的字段赋予默认值。 例如,在一个订单模型中...
写api接口时一般会在控制器中简单...有么有“一劳永逸”的做法,像在 Model 中通过 rules 方法定义验证规则并实现快速验证的呢?有! 使用方法(实现效果) namespace frontend\controllers\api; use yii\web\Cont
- **验证规则(Validation Rules)**:`rules()`方法定义的数据验证规则确保了输入数据的准确性和安全性。 - **业务逻辑**:模型类是实现业务逻辑的主要地方,例如计算、数据转换等。 了解和掌握Yii的模型结构对于...
在Yii框架中,使用Ajax进行表单验证时,能够实现在客户端即时反馈用户输入错误的功能。对于想要在用户提交数据时通过Ajax显示错误信息的需求,Yii框架提供了一套内置的解决方案。不过,可能会遇到一些特殊情况,比如...
`rules()`方法是Yii中用于定义模型验证规则的地方,但也可以用来设置默认值。通过在`rules()`方法中定义一个规则,我们可以为特定的属性设置默认值。例如: ```php public function rules() { return array( // ....
在这个例子中,`LoginForm`定义了两个属性`username`和`password`,并使用`rules()`方法设置验证规则。`authenticate`方法实现了自定义验证逻辑,检查用户名和密码是否匹配。 接下来,我们讨论CActiveRecord模型,...
在实际应用中,这些验证规则被定义在模型(Model)类的`rules`方法中,以数组的形式返回。例如: ```php public function rules() { return [ // 在场景 'create' 和 'update' 中应用 [['email', 'password'], '...
本文将详细解读Yii框架中数据模型验证规则rules()的实现方法及其运行机制,帮助开发者有效地完成用户注册等表单验证。 在Yii框架中,模型的验证规则定义在模型类中的rules()方法里。这个方法通过返回一个数组来定义...
在Yii框架中,新增用户验证方法是为了满足特定的业务需求,比如在同一个应用中区分后台管理与前台会员中心的用户验证。在这种情况下,需要创建独立的登录页面,并将用户信息分别存储在不同的Cookie或Session中。本文...
总之,Yii框架表单模型和验证用法通过规则定义、自定义验证器以及内置验证器,为开发者提供了一套完整、灵活的数据验证机制。它不仅可以减少重复代码,提高开发效率,还可以保证数据的完整性和准确性,是构建高效Web...
以上就是Yii2实现自定义独立验证器的基本过程,通过这种机制,开发者可以根据具体的应用场景编写各种灵活的验证规则,满足业务的多样性需求。 在文档的后续部分,还提到了Yii框架相关的其他内容,比如Yii框架入门、...
Yii2内置了强大的验证规则,可以在模型中定义,确保用户输入的数据符合预期格式。例如,如果下拉框必须有选择,可以添加`required`规则。 9. **最佳实践** - 使用Yii2的`asArray()`方法从数据库查询中获取数据,...
在Yii2中,可以使用内置的验证规则(如`yii\base\Model::rules()`)来验证用户输入,比如邮箱和密码的格式。密码通常会用哈希算法(如Bcrypt或Argon2)进行加密存储,以提高安全性。 3. **登录功能**:登录过程包括...
3. **Extension管理**:Yii社区提供了大量高质量的扩展,如图库管理、支付接口等,可通过Yii的扩展管理工具轻松安装和使用。 4. **RESTful Web服务**:Yii支持构建RESTful API,方便移动应用和其他服务与Web应用...