需要我有一大堆的名稱/電子郵件字段的在我的形式類似的這樣的表單字段中的一種:製作組在CakePHP中
data[Friend][0][name]
data[Friend][1][name]
data[Friend][2][name]
等
和
data[Friend][0][email]
data[Friend][1][email]
data[Friend][2][email]
等
我有一個自定義驗證規則,每個檢查是否填寫相應的字段。如果數據[朋友] [2] [名],然後數據[朋友] [2] [郵件]必須在充滿
僅供參考,繼承人什麼的兩條規則一個樣子:
我的表單驗證規則:(我有一個電子郵件驗證過,但是這無關緊要這裏)
'name' => array(
'checkEmail' => array(
'rule' => 'hasEmail',
'message' => 'You must fill in the name field',
'last' => true
)
)
我的自定義規則代碼:
function hasEmail($data){
$name = array_values($data);
$name = $name[0];
if(strlen($name) == 0){
return empty($this->data['Friend']['email']);
}
return true;
}
我需要它,以便對應該作爲填充至少。它可以是任何只要索引相對應的。
我無法想象,如果我將表單規則設置爲required或allowEmpty false,它將在所有空字段上失敗。我如何檢查1對的存在,如果存在,繼續?另外,我需要去除所有剩餘的空[Friend]字段,所以我的saveAll()不會保存一行空行,但我認爲我可以在控制器中使用提取來處理該部分。主要問題是這種驗證。謝謝。