我想在现有文件上使用FileValidator - 如何做到这一点? 据我所知,FileValidator仅适用于UploadedFile类的实例。如果我的文件已经上传,如何验证?
有一些很好的解决方案,或者我必须编写自己的ExistingFileValidator?
修改:更多详情: 我想以这种方式在我的模型中做到这一点:
模型规则:
public function rules()
{
return [
[['myExistingFile'], 'file',
'maxSize' => self::MAX_SIZE,
'tooBig' => 'msg',
'minSize' => self::MIN_SIZE,
'tooSmall' => 'msg',
'extensions' => self::VALID_EXTENSIONS,
'mimeTypes' => self::VALID_MIME_TYPES,
'wrongExtension' => 'msg',
'wrongMimeType' => 'msg',
],
];
}
控制器操作:
public function actionFoo()
{
$model->myExistingFile = 'path/to/file.ext';
if (!$model->validate()) {
// file is invalid
}
}
答案 0 :(得分:2)
一个简单的内联验证器就足够了:
String date = getIntent().getExtra().getString("passdate");
当然,您可以进行进一步检查:如果属性为空(尽管您可以使用必需的验证器)或文件为空。只要您不想构建可重用,可配置或复杂的验证工具,即使用自己的类(从Validator派生)实现,内联验证就足够了。
更多信息here。
答案 1 :(得分:0)
'skipOnEmpty' => false,
规则中的
答案 2 :(得分:0)