yii表单验证
来源:互联网 发布:医疗数据采集平台 编辑:程序博客网 时间:2024/05/02 00:27
yii表单验证
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'auth-form',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions' => array(
'validateOnSubmit' => true, //需要ajax验证为真,否则为假
),
'focus'=>array($model,'username'),
'action'=>'authoriza2/login',
)); ?>
<?php $this->endWidget(); ?>
</div><!-- form -->
自定义验证规则
关键有一下两个步骤:
1、在rules中 添加代码:array('tagname', 'checktagname', 'on'=>'create,update'),//插入TAG时检查是否已经存在该tag
注:我在其中用了 'on'=>'create,update',所以这个验证规则之对create,update场景生效
2、在该模型(models)中添加验证函数:
public function checktagname($attribute,$params){
$oldtag = Tag::model()->findByAttributes(array('tagname'=>$this->tagname));
if($oldtag->tagid > 0){
$this->addError($attribute, '该TAG已经存在!');
}
}
其中需要说明的是:
(1)该验证函数的参数必须是($attribute,$params),不能缺少其中任何一个; (2)$this->addError($attribute, '该TAG已经存在!');这个是你想要在视图中输出的错误提示信息。
就是这么简单,有了这个方法,表单验证的各种想要的规则就都可以自定义了。
内置验证规则
Yii 有内置数据验证,我将它列出来:
required: 必填字段验证, 来自 CRequiredValidator类的别名
array(‘字段名列表用逗号隔开’, ‘required’), 就这样的一个小小的写法,可以让字段前面加个 * 星号显示出来,表示必填字段
filter: 过滤验证, 来自 CFilterValidator 类的别名
match: 使用正则表达式,来自CRegularExpressionValidator的别名, 用于 验证属性是否匹配一个正则表达式
email: 验证邮箱,来自CEmailValidator类的别名
url: 验证网址, 来自CUrlValidator的别名
unique: 验证唯一性, 来自CUniqueValidator的别名
compare: 多字段对比验证,来自CCompareValidator的别名
length: 验证字符串的长度验证,来自CStringValidator的别名
in: 验证属性值是否在一个预订的值列表里面,来自CRangeValidator的别名
numerical: 验证字符串是否为整数,来自CNumberValidator的别名
captcha: 验证码啦,来自CCaptchaValidator的别名
type: 验证字符串类型,来自 CTypeValidator的别名
file: 文件验证,来自CFileValidator的别名
default: 默认值验证, 来自CDefaultValueValidator的别名
exist: 验证数据是否存在, 来自CExistValidator的别名
boolean: 验证真假值, 来自CBooleanValidator的别名
date: 验证日期时间, 来自CDateValidator的别名
safe:验证数据是否安全,来自 CSafeValidator的别名
unsafe: 不验证,来自CUnsafeValidator的别名
- yii表单验证
- yii表单验证
- Yii表单验证
- [php] Yii表单验证
- yii表单验证大全
- yii表单验证规则
- yii表单验证用法 实例
- yii用户注册表单验证
- 【Yii】表单模型和验证
- yii 表单元素的验证
- yii用户注册表单验证
- Yii form表单开启ajax验证
- ajax验证表单、分页、Yii ajax分页
- 关于yii表单验证的问题
- yii表单提交后无法验证
- YII框架自带表单验证
- yii用户注册的表单验证
- Yii ajax验证表单、分页、Yii ajax分页
- 使用aforge的AVIWriter打开或创建文件异常Failed creating compressed stream的解决办法
- Ubuntu命令行下安装,卸载软件包的过程
- 小议Linux系统下的文件系统
- Best Time to Buy and Sell Stock II
- Linux下安装RabbitMQ
- yii表单验证
- 在C#中调用GAMS代码
- android百度地图:ItemizedOverlay
- Java中数组的clone
- OpenCV-Python教程(7、Laplacian算子)
- 戏说文件系统之ext2
- ubuntu 64位 兼容 32位 库 到方法
- Windows CE系统开发,BSP包中的几个常见文件详解
- 制定测试计划的考虑因素