Lili PHP framework-提交的模型属性在保存前消失

Lili PHP framework-提交的模型属性在保存前消失,php,frameworks,resources,lithium,Php,Frameworks,Resources,Lithium,我正在做一个项目,使用Limition PHP框架构建,但有一个奇怪的问题: 我有两个用户控制器-一个用于站点前端,一个用于管理面板。它们都有edit()方法,该方法调用Users模型的save方法 问题是这个: 当我试图在管理面板中更改密码时-$request->data包含confirmPasswordPOST字段---但是---不会触发它的验证规则。 当我尝试在前端注册用户时,confirmPassword的验证就会触发 这些方法有一个相同的代码: public function {add

我正在做一个项目,使用Limition PHP框架构建,但有一个奇怪的问题:

我有两个用户控制器-一个用于站点前端,一个用于管理面板。它们都有
edit()
方法,该方法调用
Users
模型的
save
方法

问题是这个:

当我试图在管理面板中更改密码时-
$request->data
包含
confirmPassword
POST字段---但是---不会触发它的验证规则。 当我尝试在前端注册用户时,
confirmPassword
的验证就会触发

这些方法有一个相同的代码:

public function {add / edit} ($request, $user) {
    if (!$request->data) {
        return array(200, $user);
    }
    $success = $user->save();
    return array($success, $user);
}
验证规则在模型中,&它使用自定义验证,在
config/bootstrap/validation.php
中定义,代码如下:

Validator::add('matchesPassword',函数($value,$format,$options){…

最后,这个网站是用Lili PHP框架构建的(对我来说是新的),使用
li3_资源
,所有的控制器和模型都扩展了这个
资源

那么…这个帖子栏在哪里消失了?…有什么线索吗

编辑:当我编写
公共函数{add/Edit}($request,$user){
时,我指的是两种方法:

public function add($request, $user) { ... 
public function edit($request, $user) { ... 

谢谢。

我找到了问题的原因:)

在以前的开发人员在模型中定义的验证规则中,有以下条款:

'on'=>“创建”

这导致编辑时未触发验证规则

PS:我试图在验证本身中转储规则(在这个类中——在第469行的annonimous函数中:

返回静态::_过滤器(_函数,$params,函数($self,$params){


但是转储从未发生过???…可能如果它在那里工作的话-这可以节省我一些时间…

您是否转储了数据(即
$request->data
$user->data()
)要查看它是否确实存在并正在填充?仅根据您的描述,您的字段名(
confirmPassword
)和验证规则(
passwordConfirm
)之间似乎不匹配。请参阅
models/Users.php
,第57行。当我在
add
edit
方法中进行转储时,则
$request->data
包含
密码
passwordConfirm
属性并具有正确的值,而
$user->data()
没有…它只包含
密码
,并且其中的值已经加密。(事实上-我猜这是在实际尝试保存数据之后发生的。)(顺便说一句,这是我对
确认密码
的错误,我没有类似的东西:)…到处都是
passwordConfirm
视图、模型等)