[英]CakePHP validation messages position
通常,CakePHP的驗證消息來自以下模型:
class User extends AppModel {
public $name = 'User';
public $validate = array(
'username' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'A username is required'
),
'regexp' => array(
'rule' => '/^[a-z0-9]{3,10}$/i',
'message' => 'Only letters and integers, min 3, max. 10 characters'
)
)
)
}
在輸入下方打印,我的意思是消息: 'message' => 'A username is required'
所以看起來像:
|INPUT|
[Message]
我該如何更改,以便將消息添加到數組:
$errors[] = 'Message';
然后,我想使用foreach
在一個地方打印它們。
那可能嗎?
CakePHP在$ this-> validationErrors中為視圖提供了所有可用的驗證錯誤。 所以我這樣循環遍歷它們:
<?php if ( !empty($this->validationErrors['Model']) ) { ?>
<div id="errorlist">
<h3><a href="#">You have errors in your submission. <?php echo $warnimage; ?></a></h3>
<div>
<ul>
<?php foreach( $this->validationErrors['Model'] as $val ){ ?>
<li><?php echo $val; ?></li>
<?php } ?>
</ul>
</div>
</div>
<?php } ?>
編輯
該代碼在哪里放置? 將代碼放在要顯示的視圖中。
如何禁用在輸入下方顯示這些錯誤? 我不會禁用該顯示,但是假設您希望只設置$ this-> validationErrors ['Model']。 (未試)
另一個解決方案是使用Miles Johnson所介紹的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.