Encore\Admin\Form::validate PHP Method

validate() protected method

Validate input data.
protected validate ( $input ) : boolean
$input
return boolean
    protected function validate($input)
    {
        $data = $rules = [];
        foreach ($this->builder->fields() as $field) {
            if (!method_exists($field, 'rules') || !($rule = $field->rules())) {
                continue;
            }
            $columns = $field->column();
            if (is_string($columns)) {
                if (!array_key_exists($columns, $input)) {
                    continue;
                }
                $data[$field->label()] = array_get($input, $columns);
                $rules[$field->label()] = $rule;
            }
            if (is_array($columns)) {
                foreach ($columns as $key => $column) {
                    if (!array_key_exists($column, $input)) {
                        continue;
                    }
                    $data[$field->label() . $key] = array_get($input, $column);
                    $rules[$field->label() . $key] = $rule;
                }
            }
        }
        $this->validator = Validator::make($data, $rules);
        return $this->validator->passes();
    }