47 lines
2.5 KiB
Plaintext
Executable File
47 lines
2.5 KiB
Plaintext
Executable File
{varType FuzeWorks\Forms\Form $form}
|
|
{varType FuzeWorks\Forms\Field $field}
|
|
<form {$form->generateHtmlFormAttributes()|noescape}>
|
|
{if $form->isValidated() && $form->isValid()}
|
|
<div class="alert alert-success">
|
|
<h5><i class="icon fas fa-check"></i> Alert!</h5>
|
|
{$form->getName()} was successfully completed.
|
|
</div>
|
|
{else}
|
|
<div n:foreach="$form->getFormErrors() as $error" class="alert alert-danger">
|
|
<h5><i class="icon fas fa-check"></i> Error!</h5>
|
|
{$error|noescape}
|
|
</div>
|
|
<div n:foreach="$form->getFormWarnings() as $warning" class="alert alert-warning">
|
|
<h5><i class="icon fas fa-check"></i> Warning!</h5>
|
|
{$warning|noescape}
|
|
</div>
|
|
{foreach $form->getFields() as $field}
|
|
{switch get_class($field)}
|
|
{case "FuzeWorks\Forms\Fields\HiddenField", "FuzeWorks\Forms\Fields\SubmitField", "FuzeWorks\Forms\Fields\ResetField", "FuzeWorks\Forms\Fields\DecoratorField"}
|
|
{$field|noescape}
|
|
{case "FuzeWorks\Forms\Fields\CheckboxField"}
|
|
<div class="form-check">
|
|
{$field->addClass("form-check-input")|noescape}
|
|
<label for="{$field->getId()}" class="form-check-label">{$field->getLabel()}</label>
|
|
{if $field->isValidated() && !$field->isValid()}
|
|
<small class="text-danger">{$field->getErrors()|implode}</small>
|
|
{/if}
|
|
</div>
|
|
{case "FuzeWorks\Forms\Fields\RadioField", "FuzeWorks\Forms\Fields\SelectField"}
|
|
{$field|noescape}
|
|
{default}
|
|
<div class="form-group">
|
|
<label for="{$field->getId()}">{$field->getLabel()}</label>
|
|
{if $field->isValidated() && !$field->isValid()}
|
|
{$field->class(["form-control", "is-invalid"])|noescape}
|
|
<small class="text-danger">{$field->getErrors()|implode}</small>
|
|
{elseif $field->isValidated() && $field->isValid()}
|
|
{$field->class(["form-control", "is-valid"])|noescape}
|
|
{else}
|
|
{$field->addClass("form-control")|noescape}
|
|
{/if}
|
|
</div>
|
|
{/switch}
|
|
{/foreach}
|
|
{/if}
|
|
</form> |