验证长度在rules()方法中添加
array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12),
其中length在下面的类表中查找,min和max在length对应的类文件:CStringValidator里面找
这些类文件在:../frameworks/validators文件夹下面
————————————————————————————
•captcha: CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码.
•compare: CCompareValidator 的别名, 确保了特性的值等于另一个特性或常量.
•email: CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址.
•default: CDefaultValueValidator 的别名, 为特性指派了一个默认值.
•file: CFileValidator 的别名, 确保了特性包含了一个上传文件的名称.
•filter: CFilterValidator 的别名, 使用一个过滤器转换特性的形式.
•in: CRangeValidator 的别名, 确保了特性出现在一个预订的值列表里.
•length: CStringValidator 的别名, 确保了特性的长度在指定的范围内.
•match: CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.
•numerical: CNumberValidator 的别名, 确保了特性是一个有效的数字.
•required: CRequiredValidator 的别名, 确保了特性不为空.
•type: CTypeValidator 的别名, 确保了特性为指定的数据类型.
•unique: CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.
•url: CUrlValidator 的别名, 确保了特性是一个有效的路径.
————————————————————————————
以下我们列出了使用预定义校验器的例子:
// username 不为空
array(‘username’, ‘required’),
// username 必须大于 3 小于 12 字节
array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12),
// 在注册场景中, password 必须和 password2 一样
array(‘password’, ‘compare’, ‘compareAttribute’=>’password2′, ‘on’=>’register’),
// 在登录场景中, password 必须被校验
array(‘password’, ‘authenticate’, ‘on’=>’login’),
1。。。。
yii过滤不良代码
$purifier=new CHtmlPurifier; $purifier->options=array("HTML.Allowed"=>"div"); $content=$purifier->purify($content);
或者
<?php $this->beginWidget('CHtmlPurifier'); ?> ...display user-entered content here... <?php $this->endWidget(); ?>
2.。。。。。。。。
yii如何防止重复提交?
提交后
Ccontroler->refresh();
3。。。。。
yii如何获得上一页的url以返回
Yii::app()->request->urlReferrer;
4。。。。
yii如何将表单验证提示弄成中文的
将main.php里的app配置加上language=>'zh_cn',系统默认的提示就是中文的了,要自定义消息就像楼上说的定义message
5。。。。。
开源PHP框架Yii:多数据库操作
大多数情况下,我们都会采用同一类型的数据库,只是为了缓解压力分成主从或分布式形式而已。
声明
你可以在app config里声明其它的数据库连接:
<?php ...... 'components'=>array( 'db'=>....// 主链接 'db1'=>...// 从连接1 'db2'=>...// 从连接2 ) ......
操作
在代码里,可以通过Yii::app()->db1和Yii::app()->db2获得两个从连接。
高级操作
更高级(自动)的主从数据库功能将在1.1实现。
更多详情可以转到:http://www.thinksaas.cn/group/show/id-283