我的表单中有很少的字段,所有字段都是必需的。其中一个字段是fileField。所以我要做的是使用Transaction验证字段的一部分,如果这些字段的一切正常,则上传图像,保存在磁盘上,设置另一个字段的值并保存数据库中的所有字段。
但是我写的问题是所有字段都需要设置。当我将验证一部分参数时,另一部分将不会被设置,因此验证将返回“false”。
P.S。 对不起我的英语技能
答案 0 :(得分:3)
有一些方法可以做到这一点。
首先,您可以创建验证类。 例如:
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
}
您还可以通过将属性传递给validate方法
来仅验证一个属性$test->validate(array('test','other attr');