public array rules ()
{return}
array 要调用 validate() 时应用的有效性规则。
返回属性的有效性规则。
声明验证规则,应重写此方法。 每个规则是数组具有以下结构:
array(‘attribute list’, ‘validator name’, ‘on’=>’scenario name’, …validation parameters…)
注:
attribute list: 指定属性 (以逗号分隔) 进行验证 ;
validator name: 指定要使用的验证程序。 它可以是方法的一个模型类的一个内置的验证器或验证程序类 (或其路径的别名) 名称的名称。 一种验证方法必须具有以下签名:
// $params refers to validation parameters given in the rulefunction validatorName($attribute,$params)
内置的验证程序是指在 CValidator::builtInValidators 中声明的验证程序之一。 验证程序的类是扩展 CValidator 的类。
on: 应执行有效性规则时,此选项指定的情形。 用逗号分开不同的方案。 如果未设置此选项,将在任何情况下应用规则。 请 方案 中有关此选项的更多详细信息,参阅。
附加参数用于初始化相应的验证程序属性。 请参阅 individal 验证器类 API 可能的属性。
以下是一些例子:
array(
array(‘username’, ‘required’),
array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12),
array(‘password’, ‘compare’, ‘compareAttribute’=>’password2′, ‘on’=>’register’),
array(‘password’, ‘authenticate’, ‘on’=>’login’),
array(‘Price’,'numerical’, ‘integerOnly’=>true),
);
预定义完整列表:
boolean : CBooleanValidator 的别名, 确保属性的值是CBooleanValidator::trueValue 或 CBooleanValidator::falseValue .
captcha : CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码.
compare : CCompareValidator 的别名, 确保了特性的值等于另一个特性或常量.
email : CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址.
default : CDefaultValueValidator 的别名, 为特性指派了一个默认值.
exist : CExistValidator 的别名, 确保属性值存在于指定的数据表字段中.
file : CFileValidator 的别名, 确保了特性包含了一个上传文件的名称.
filter : CFilterValidator 的别名, 使用一个filter转换属性.
in : CRangeValidator 的别名, 确保了特性出现在一个预订的值列表里.
length : CStringValidator 的别名, 确保了特性的长度在指定的范围内.
match : CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.
numerical : CNumberValidator 的别名, 确保了特性是一个有效的数字.
required : CRequiredValidator 的别名, 确保了特性不为空.
type : CTypeValidator 的别名, 确保了特性为指定的数据类型.
unique : CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.
url : CUrlValidator 的别名, 确保了特性是一个有效的路径.
相关推荐
Yii的CModel中rules方法中各項參數的說明(僅限於yii1)
- **声明验证规则**: 使用`rules()`方法定义数据验证规则。 - **安全的特性赋值**: 使用`safeAttributes()`方法确定哪些属性可以被安全地赋值。 - **触发验证**: 在模型保存前触发验证过程。 - **提取验证错误**: ...
在Yii框架中,新增用户验证方法是为了满足特定的业务需求,比如在同一个应用中区分后台管理与前台会员中心的用户验证。在这种情况下,需要创建独立的登录页面,并将用户信息分别存储在不同的Cookie或Session中。本文...
接下来,我们将深入探讨Yii中表单的使用方法。 首先,创建模型是处理表单的第一步。模型(Model)在Yii中扮演着核心角色,它负责收集和验证用户输入的数据。对于临时性的数据,如登录表单,可以创建一个表单模型...
本文实例讲述了Yii使用Captcha验证码的方法。分享给大家供大家参考,具体如下: 详细代码可参考:yii自带的示例代码post项目,里面有一个contact表单用到了验证码. 1. Model: 将验证码加入UserLogin的一个属性: ...
public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array()) ``` 这个方法接受三个参数: - `$model`:一个 `CModel` 对象,代表你正在操作的数据模型。 - `$...
视图(View)部分使用了Yii的CHtml辅助类来创建HTML表单,允许用户选择要上传的文件。`enctype` 属性设置为 `'multipart/form-data'` 是为了支持文件上传。`activeFileField` 创建了一个文件输入字段,`submitButton...
Yii框架中的CActiveRecord提供了`rules`方法来设置这些规则,常见的验证器包括`CRequiredValidator`(非空验证)、`CStringValidator`(字符串验证)、`CEmailValidator`(邮箱格式验证)等。 **视图层(View)** 视...
//小写或大写两个字符 class example extends CModel { //[....] public function rules () { return array ( //[....] array ( 'inscricaoEstadual' , 'ext.validators.IeValidator' , 'estado' =>
本文将详细讲解如何使用Yii2的`ActiveForm`来创建表单,包括关键方法、参数配置以及验证机制。 首先,让我们看看一个基本的登录表单示例: ```php $form = ActiveForm::begin(['id' => 'login-form']); ?> $form->...
Yii的表单模型一般继承自CModel,其设计的核心在于表单数据不需要持久化存储,而验证则是一个不可或缺的部分。在Yii中,表单模型通常用于处理Web表单的输入数据,并对这些数据进行验证。 Yii中的验证器是用于数据...
然后在模型的`rules()`方法中使用这个自定义验证器: ```php array('phone_number', 'PhoneNumberValidator'), ``` 6. 结论 通过结合使用Yii的CActiveForm和Ajax验证,我们可以创建出用户体验良好的表单,提供...
`field()`接收模型对象和模型属性名作为参数,然后可以使用各种方法来定制输入字段: ```php $form->field($model, 'username')->textInput(['maxlength' => 20]); ?> $form->field($model, 'password')->...
如果验证成功,`authenticate()`会设置`_identity`属性,然后在`login()`方法中,使用`Yii::app()->user->login()`将用户身份信息保存到会话,以便进行后续的会话管理。 退出功能相对简单,可以通过`Yii::app()->...
在模型层面,首先要通过rules()方法定义规则,对于图片上传字段,将对应字段设置为file类型。这允许我们为上传的文件进行类型、大小的校验。如指定允许上传的文件类型(jpg, png, gif等)和最大文件大小(例如10MB)...
### PHP易框架(Yii Framework)Cheatsheet #### 框架概述 ...以上是关于易框架(Yii Framework)的部分知识点介绍,通过了解这些基础类和方法,可以帮助开发者更高效地利用该框架进行Web应用开发。