5 Commits
3 changed files with 23 additions and 4 deletions

No files matched your search

+1 -1
View File
@@ -99,7 +99,7 @@ class Ui extends UiElement implements Extension {
break;
case in_array('time', $options):
$input = new UiText();
$input = new UiTime();
break;
case in_array('url', $options):
+3 -2
View File
@@ -68,7 +68,8 @@ class UiForm extends UiElement implements Extension {
public function buildHtml(string $method = "get", string $name = "", string $action = "", array $attributes = []) : string
{
$method = strtolower($method);
# Method passed in arguments take precedents over options
$method = strtolower($attributes['method'] ?? $method);
$this->option('tag-type', 'single');
@@ -77,7 +78,7 @@ class UiForm extends UiElement implements Extension {
unset($this->attributes['class']);
}
$this->attributes([ 'method' => $method, 'action' => $action ] + $attributes);
$this->attributes([ 'action' => $action, 'method' => $method, ] + $attributes);
if ( $method !== "get" ) {
+19 -1
View File
@@ -51,9 +51,15 @@ class FormContext implements FormContextInterface
}
}
$this->fillValues();
$this->files = $request->getUploadedFiles() ?: [];
$this->initialize();
}
public function initialize() : void {}
public function valid() : bool
{
foreach($this->messages as $message) {
@@ -67,7 +73,7 @@ class FormContext implements FormContextInterface
public function executed() : bool
{
return $this->formExecuted;
return $this->formExecutionStatus === false ? false : $this->formExecuted;
}
public function formSent() : bool
@@ -142,4 +148,16 @@ class FormContext implements FormContextInterface
{
$this->messages[] = $message;
}
protected function fillValues() : void
{
# Skipping overrides of this particular class vars as a security measure
$skipping = array_keys(array_change_key_case(get_class_vars(FormContext::class), CASE_LOWER));
foreach($this->values as $property => $value) {
if ( ! in_array(strtolower($property), $skipping) && property_exists($this, $property)) {
$this->$property = $value;
}
}
}
}