Yii框架创建和验证表单输入字段

时间:2013-05-10 10:06:50

标签: php validation yii

我想在Yii项目中使用HTML5表单输入。

在Yii框架中,没有用于创建type ='email'type='tel'输入字段的函数,如type='text'。有一个函数可以在Yii框架中创建名为textField()的文本字段,但是一旦我搜索,它们只有tag()函数来创建“email”和“tel”输入标记。我在我的代码中使用了该函数并创建了输入字段,但问题是我无法验证我的表单字段,因为它对textField()函数的效果非常好。

这是我的代码:

echo CHtml::tag($tagName,
    array('id'=>'Contactus_email',
        'name'=>'Contactus['.$value['fieldname'].']',
        'class'=>'input_height',
        'type'=>'email',
        'placeholder'=>$value['placeholder']
    ), false, true);

2 个答案:

答案 0 :(得分:0)

由于没有CHtml::activeTag()方法,理论上将您的输入绑定到CActiveRecord属性,我认为您无法使用内置框架类对该输入进行验证。

但是,您可以create your own CHtml添加方法MyHtml::activeEmailField(),该方法与CHtml::activeTextField()基本相同,但会将type=text属性覆盖为{ {1}}。

在服务器端级别,请确保您在模型规则中使用CEmailValidator以防止意外输入。

答案 1 :(得分:0)

同样你必须在Yii中为email和tel定义验证规则,并且需要将它附加到模型规则部分的thease字段中。