编辑的
CakePHP版本: 2.2.4
当输入验证falis时,CakePHP生成的错误消息位于输入元素之后
<div class="control-group">
<label class="control-label">Name <span class="required-field">*</span></label>
<div class="controls">
<input name="data[User][name]" class="input-xlarge form-error" type="text" value="">
<div class="error-message">This field cannot be left blank.</div>
<input type="hidden" name="data[User][public_name]" id="UserPublicName_" value="0">
<input type="checkbox" name="data[User][public_name]" class="span1" value="1">
</div>
</div>但是我想把它放在我的复选框后面,就像这样:
<div class="control-group">
<label class="control-label">Name <span class="required-field">*</span></label>
<div class="controls">
<input name="data[User][name]" class="input-xlarge form-error" type="text" value="">
<input type="hidden" name="data[User][public_name]" id="UserPublicName_" value="0">
<input type="checkbox" name="data[User][public_name]" class="span1" value="1">
<div class="error-message">This field cannot be left blank.</div>
</div>
</div>我读过FormHelper::input(),但我想不出我是怎么做到的。我想使用inputDefaults。
编辑的
我的.ctp
<div class="control-group">
<label class="control-label">Nanme <span class="required-field">*</span></label>
<div class="controls">
<?php
echo $this->Form->input('name', array(
'type' => 'text', 'class' => 'input-xlarge'));
echo $this->Form->checkbox('public_name', array('class' => 'span1'));
?>
</div>
</div>发布于 2013-01-19 17:33:43
其实我已经解决了。我已经添加了'error' => false,并将错误消息定位到了我希望使用$this->Form->error()的地方
我的.ctp
<div class="control-group">
<label class="control-label">Nanme <span class="required-field">*</span></label>
<div class="controls">
<?php
echo $this->Form->input('name', array(
'type' => 'text', 'class' => 'input-xlarge', 'error' => false));
echo $this->Form->checkbox('public_name', array('class' => 'span1'));
echo $this->Form->error('User.name', null, array('class' => 'error-message'));
?>
</div>
</div>发布于 2013-01-19 07:22:37
“复选框”输入类型应该已经将错误放在输入后。
但要指定确切的顺序,请在输入的$options数组中使用$options键:
$this->Form->input('fieldname',
array('type'=>'checkbox',
'format'=>array('before', 'input', 'between', 'label', 'after', 'error')
));只需更改这些数组元素的顺序,以满足您的需要。
发布于 2014-05-14 12:50:53
https://stackoverflow.com/questions/14410382
复制相似问题