为什么我们在YII中需要规则方法?

时间:2013-01-25 12:36:40

标签: php yii

我对yii框架中的规则方法有点混淆。以下是示例博客应用程序中的规则函数。

public function rules()
{
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
        array('title, content, status, author_id', 'required'),
        array('status, create_time, update_time, author_id', 'numerical', 'integerOnly'=>true),
        array('title', 'length', 'max'=>128),
        array('tags', 'safe'),
        // The following rule is used by search().
        // Please remove those attributes that should not be searched.
        array('id, title, content, tags, status, create_time, update_time, author_id', 'safe', 'on'=>'search'),
    );
}
  • 为什么我们班上需要这种方法?
  • 如何有效地使用它?
  • 它对我们有什么帮助?在验证表格???
  • 任何人都可以解释它是如何工作的?

提前致谢。

3 个答案:

答案 0 :(得分:2)

  

这些规则由返回的CModel :: validate()方法应用   布尔值。默认情况下,方法CActiveRecord :: save()   自动调用此验证,并要求它在之前成功   它试图保存记录。

Reference: Model rules validation

答案 1 :(得分:2)

Yii是一个采用MVC模式的框架。 M,在MVC中代表Model。这意味着与数据相关的所有内容都位于Model类中。字段类型,ruls,关系,...规则,考虑日期,因此您可以在模型类中找到它。

特别是Yii在创建表单时使用模型方法(为数据生成couse表单)。 Yii在验证数据时使用模型。当您需要验证某些特定字段(如电子邮件,日期,密码等)时,Yii会使用模型。

它对我们有所帮助,因为您不需要随时为电子邮件实施验证规则。一个字段必须只是一个数字?一封电邮?一个约会?一个网址?在整个模型中必须是唯一的吗? Yii为我们提供a lot of validators

另外,您可以create your own validator rules

答案 2 :(得分:0)

当您进行开发并需要验证数据时(在大多数情况下 - “用户数据”),它将允许您节省大量时间和代码行。

Yii带有优秀的文档和维基。除了上面列出的内容之外,我还会再添加一个link,这可以帮助您了解它是什么以及如何烹饪。