在Model_Page類不工作的獨特價值,延長Kohana的ORM類,我有這樣的規則定義:的Kohana 3.3 ORM驗證 - 當值爲空
public function rules() {
return array(
'url' => array(
array('Model_Page::unique_url', array($this)),
),
);
}
爲了簡化在這裏,我將只返回從false這個功能,所以當我嘗試保存/更新頁面應該永遠不會驗證:
public static function unique_url($page) {
return false;
}
可正常工作,如果爲 URL值不爲NULL或不是空字符串。
但是,如果我已經有一個空網址的頁面,並且我嘗試添加一個空網址的新頁面,即使強制返回false,unique_url函數也會被忽略。
這可能是一個錯誤,但也許我錯過了什麼......?在Kohana文檔中,對於唯一的示例,它們使用用戶名作爲示例,但用戶名也具有not_empty規則,該規則在此不適用。
任何幫助/建議表示讚賞!
你是什麼意思?我確實將該值設置爲空字符串,所以驗證應該反正不會。 – Piero
在你的方法中嘗試死亡('XXX')。然後不同的場景 - 創建新頁面並保存它,創建新頁面,分配值並保存,加載已存在的值,然後再次保存,加載已存在的值,設置值並保存等等。您將獲得 – MaGnetas
我做了所有這些。另外你的保存功能對我不起作用,我沒有必要做一個保存,但也更新,所以我的url值不能像你這樣默認設置,它是由values()函數設置的。 – Piero