从Yii模型获取规则属性

时间:2013-07-03 16:30:50

标签: yii

也许问题很简单,但我找不到答案

在我的模型中,我有规则:

array('name', 'length', 'max'=>65),

在我看来,我有代码:

$form->textField($model,'name');

渲染后我有:

<input id="name" type="text" value="" maxlength="65" name="name">

一切都很好,但是可以从视图页面上的模型获得最大长度属性吗? 我在页面的某处显示最大长度,但我无法获得此属性。

由于

2 个答案:

答案 0 :(得分:3)

试试这个:

foreach ($model->getValidators('name') as $validator) {
    if ($validator instanceof CStringValidator && $validator->max !== null) {
        echo 'this is the max length ' . $validator->max;
        break;
    }
}

这将返回'name'属性的所有验证器。然后搜索CStringValidator并返回最大尺寸。

答案 1 :(得分:2)

您可以使用:

$model->getValidators('name');

将返回应用于'name'属性的验证器数组。然后在本例中找到StringValidator及其名为'max'的字段。