A file field’s value is always `NULL` when it’s empty (as opposed to an empty array from `$_FILES`). Because of this, you use the regular `not_empty` validation rule for making the field required.
You can use Kohana’s file validation rules for any other file field rules.
```
$form->add_rule([
‘upload’ => [
[‘not_empty’],
['Upload::type', [':value', ['jpg','png','gif']]],
]
]);
```
When you run `Formo::load()`, Formo always looks for any file fields inside the $_FILES array without having to pass the array into `Formo::load()`.
Thus, this will work correctly:
```
$form->add('thumbnail', 'file')
->rule([
'thumbnail' => [
['not_empty'],
['Upload::type', [':value', ['jpg','png','gif']]],
]
]);
// Formo will load the 'thumbnail' field from $_FILES when you call Formo::load()
if ($form->load()->validate())
{
// File passed
}
```