也许问题很简单,但我找不到答案
在我的模型中,我有规则:
array('name', 'length', 'max'=>65),
在我看来,我有代码:
$form->textField($model,'name');
渲染后我有:
<input id="name" type="text" value="" maxlength="65" name="name">
一切都很好,但是可以从视图页面上的模型获得最大长度属性吗? 我在页面的某处显示最大长度,但我无法获得此属性。
由于
答案 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'的字段。