我想在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);
答案 0 :(得分:0)
由于没有CHtml::activeTag()
方法,理论上将您的输入绑定到CActiveRecord
属性,我认为您无法使用内置框架类对该输入进行验证。
但是,您可以create your own CHtml
添加方法MyHtml::activeEmailField()
,该方法与CHtml::activeTextField()
基本相同,但会将type=text
属性覆盖为{ {1}}。
在服务器端级别,请确保您在模型规则中使用CEmailValidator
以防止意外输入。
答案 1 :(得分:0)
同样你必须在Yii中为email和tel定义验证规则,并且需要将它附加到模型规则部分的thease字段中。