>我的表单中很少有字段,所有这些都是必需的。其中一个字段是 fileField。所以我要做的是使用事务验证字段的一部分,如果这些字段一切正常,上传图像,保存在磁盘上,设置另一个字段的值并将所有字段保存在数据库中。
但正如我所写,问题是需要设置所有字段。当我验证一部分参数时,不会设置另一部分参数,因此验证将返回"false"。
附言对不起我的英语水平
有一些方法可以做到这一点。
首先,可以创建验证类。例如:
class testModel extends CModel{
public $test;
public function attributeNames() {
return array(
'test'=>'Test'
);
}
public function rules() {
return array(
array('test','required'),
array('test','exist','className'=>'testClass','attributeName'=>'testAtttibute')
);
}
}
然后
$test=new testModel();
$test->test=$_POST['ANYNAME'];
if($test->validate()){
//Do something
}
还可以通过将属性传递到验证方法中来仅验证一个属性
$test->validate(array('test','other attr');