Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何控制错误消息div在CakePHP表单中的显示位置?_Cakephp_Cakephp 2.0 - Fatal编程技术网

如何控制错误消息div在CakePHP表单中的显示位置?

如何控制错误消息div在CakePHP表单中的显示位置?,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,因此,我知道如果您根据模型的验证器验证错误消息,CakePHP会自动将其加载到视图中。我正在尝试设置日期下拉框验证,我想控制错误消息显示的位置 在提交以验证表格之前: <div class="input text required"> <label for="UserEmail">Email</label> <input name="data[User][email]" maxlength="50" type="text" id="UserEmail"&

因此,我知道如果您根据模型的验证器验证错误消息,CakePHP会自动将其加载到视图中。我正在尝试设置日期下拉框验证,我想控制错误消息显示的位置

在提交以验证表格之前:

<div class="input text required">
<label for="UserEmail">Email</label>
<input name="data[User][email]" maxlength="50" type="text" id="UserEmail">
</div>

电子邮件
验证后,错误显示在此处:

<div class="input text required error">
<label for="UserEmail">Email</label>
<input name="data[User][email]" maxlength="50" type="text" value="" id="UserEmail" class="form-error">
<div class="error-message">An email is required</div>
</div>

电子邮件
需要一封电子邮件
我能把它控制在我能让它出现的地方吗

<div class="input text required error">
<div class="error-message">An email is required</div>
<label for="UserEmail">Email</label>
<input name="data[User][email]" maxlength="50" type="text" value="" id="UserEmail" class="form-error">
</div>

需要一封电子邮件
电子邮件
或在此:

<div class="error-message">An email is required</div>
<div class="input text required error">
<label for="UserEmail">Email</label>
<input name="data[User][email]" maxlength="50" type="text" value="" id="UserEmail" class="form-error">
</div>
需要电子邮件
电子邮件
在视图中:

1) 禁用自动错误显示:

echo $this->Form->create('Mymodel', array(
    'inputDefaults' => array(
        'error' => false
    )
));
2) 从
$this->validationErrors

3) 使用您自己的标记或蛋糕的默认标记,通过

更新: 我误解了你原来的问题。元素的顺序可以通过create()调用(用于所有字段)或input()调用(用于单个字段)指定:


上述操作会将
错误
div置于
标签
div之前。您可以按照您喜欢的任何顺序重新排列该数组。

我可以为密码\u确认字段获取此字段,可能会有所帮助

         echo $this->Form->input('username');
        echo $this->Form->input('password');

        echo $this->Form->input('password_confirm', array(
            'type' => 'password',
            'div'=>'control-group',
            'error' => array('attributes' => array('wrap' => 'div','class' => 'help-inline'))
        ));

        echo $this->Form->input('group_id', array(
            'options' => array('2' => 'Admin', '3' => 'Publisher')
        )); 
        echo $this->Form->input('publisher_id', array(
            'options' => $publishers
        ));

        echo $this->Form->input('active');

谢谢,但是我想利用CakePHP的错误div,它将错误类添加到div中,这个div是在输入附近。我如何利用它呢?
echo$this->Form->error('email')看看我发布的关于使用选项的链接。我实际上是指这一行
         echo $this->Form->input('username');
        echo $this->Form->input('password');

        echo $this->Form->input('password_confirm', array(
            'type' => 'password',
            'div'=>'control-group',
            'error' => array('attributes' => array('wrap' => 'div','class' => 'help-inline'))
        ));

        echo $this->Form->input('group_id', array(
            'options' => array('2' => 'Admin', '3' => 'Publisher')
        )); 
        echo $this->Form->input('publisher_id', array(
            'options' => $publishers
        ));

        echo $this->Form->input('active');