我使用的是CakePHP 2.2.3。我有一个联系人表单,其中的模型没有表格,但有验证规则。
我的问题是,如何告诉CakePHP输入类型是文本区域?我可以使用$this->Form->textarea(),但我注意到当我使用它时,它不能创建适当的超文本标记语言来报告验证错误。如果我使用$this->Form->input(),它只会创建一个普通输入类型的文本。
它应该创建类似这样的东西:
<div class="input email required"><input name="data[Quote][email]" required="1" type="email" id="QuoteEmail"/></div>但它却创建了类似这样的东西:
<textarea name="data[Quote][company_description]" id="QuoteCompanyDescription"></textarea>注意,这里没有<div class="input email required"></div>,我假设它就是CakePHP用来注入验证错误的DOM元素。
我想知道实现这一点的最好方法是什么。
发布于 2012-10-09 20:09:57
我倾向于对所有类型使用input(),然后在选项数组中指定。
$this->Form->input('company_description', array('type' => 'textarea'));http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html
发布于 2012-10-09 20:17:10
尝试执行以下操作,其中还包括您指定为选项的类
echo $this->Form->input('company_description', array('type' => 'textarea', 'escape' => false,'class' =>'input email required');http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#automagic-form-elements
发布于 2017-01-10 17:45:42
<?= $this->Form->input('comment', ['type' => 'textarea', 'label' => false, 'placeholder'=> 'Comment here', 'escape' => false,'class' =>'comment', 'rows' => '10', 'cols' => '20']); ?>创建具有指定行数和列的textarea,而不仅仅是标准文本区域。
https://stackoverflow.com/questions/12799689
复制相似问题