我試圖從模型內手動驗證數組,但驗證成功,無論我在數組中填充了哪些無效數據。
在我CustomerLocation模型我試圖驗證$數據:
$this->create();
$this->set($data);
if (!$this->validates()){
//some action if validation fails
}
在這種情況下,$數據是一個簡單的數組:
Array
(
[location_number] => 125-Knoxville - M
[packing_notes] => Test
[packing_label_message] => packing message
[length] => 4
[width] => 4
[height] => 4
[weight] => 4
[shipping_carrier] => UPS
[shipping_service] => 2nd Day Air
[ship_date] =>
[id] => 768
[row] => 4
)
的$以上數據包含任何所需的CustomerLocation模型的字段,所以它應該完全失敗驗證。
此$數據的來源是一個導入的.csv行。當我從這個模型的烘焙蛋糕形式進行驗證時,驗證就起作用了。
我的$ data數組未正確格式化$ this-> validates?如果是這樣的話,我會期待它失敗而不是通過。
任何建議當然讚賞!
您的驗證規則是什麼?我很肯定你的錯誤 – mark
如果沒有看到你的驗證規則,我猜你需要爲你的驗證規則添加'required'選項,這可能是@mark正在獲取的。你會想在這裏閱讀:http://book.cakephp.org/1.3/en/view/1145/One-Rule-Per-Field – Joep