Garden\Schema::validateRequired PHP Method

validateRequired() protected method

Validate a required field.
protected validateRequired ( &$value, array $field, Validation $validation ) : boolean | null
$field array The field definition.
$validation Validation A {@link Validation} object to collect errors.
return boolean | null Returns one of the following: - null: The field is not required. - true: The field is required and {@link $value} is not empty. - false: The field is required and {@link $value} is empty.
    protected function validateRequired(&$value, array $field, Validation $validation)
    {
        $required = val('required', $field, false);
        $type = $field['type'];
        if ($value === '' || $value === null) {
            if (!$required) {
                $value = null;
                return true;
            }
            switch ($type) {
                case 'boolean':
                    $value = false;
                    return true;
                case 'string':
                    if (val('minLength', $field, 1) == 0) {
                        $value = '';
                        return true;
                    }
            }
            $validation->addError('missing_field', $field);
            return false;
        }
        return null;
    }