2014-03-26 49 views
0

我有一個更改密碼的表單。所以POST數據包括字段passwordpasswordConfirm鋰PHP框架 - 驗證規則不會觸發現有的字段...

此外,我對Users模型中的這兩個屬性有驗證規則,它們在註冊時工作正常 - 即創建新用戶。但是,更新現有用戶時 - 他們不會觸發。

在這種情況下 - 我甩了save()方法的基本模型類內的實體的數據:

$entity->data() 

我看到兩個提交場/性能已經在那裏......他們是不同的。緊接着我甩

$entity->validates() 

,這給了我true?!?! ...

這怎麼可能? ...

PS:我傾倒核心類的框架內......而不是一些第三方庫...

+0

你可以發佈一些代碼,以便我們可以看到什麼,如果有的話,丟失? – Housni

+0

嗯,這是我傾倒在的類:https://github.com/UnionOfRAD/lithium/blob/master/data/Model.php,在這裏你可以看到在線1118上實體被填充與提交的數據一起,然後 - 1124行,檢查數據是否有效。數據似乎是有效的,但'password'和'passwordConfirm'具有不同的值。控制器和模型的代碼在這裏:http://pastie.org/8972857 –

回答

0

我發現這個問題的原因:) ...

在驗證規則,由以前的開發模型中定義的,有這一條款:

'on' => 'create'

這是導致驗證規則不編輯時觸發。