better defaults

main
Robert 2 months ago
parent f58db708eb
commit b130c5d8ab
  1. 45
      protected/src/inputs/app/home_in.php
  2. 7
      protected/src/outputs/app/home_out.php
  3. 2
      protected/src/views/twig/app/val_tests.html.twig

@ -11,10 +11,7 @@ declare(strict_types=1);
namespace Project\inputs\app;
use \CodeHydrater\attributes\validators as Assert;
use \CodeHydrater\enums\INPUTS;
use \CodeHydrater\enums\FIELD_FILTER;
use \CodeHydrater\enums\HTML_FLAG;
use \CodeHydrater\enums\DB_FILTER;
use \CodeHydrater\enums as E;
use \CodeHydrater\bootstrap\use_io as IO;
use \CodeHydrater\bootstrap\safer_io as SafeIO;
@ -22,11 +19,12 @@ class home_in {
private static function define_io(string $v_rule = 'required|max: 70') {
$required_post_string_field = new IO();
$required_post_string_field->input_type = INPUTS::variable;
$required_post_string_field->field_filter = FIELD_FILTER::raw_string;
$required_post_string_field->escape_html = HTML_FLAG::escape;
$required_post_string_field->input_type = E\INPUTS::variable;
$required_post_string_field->error_on_null = true;
$required_post_string_field->field_filter = E\FIELD_FILTER::raw_string;
$required_post_string_field->escape_html = E\HTML_FLAG::escape;
$required_post_string_field->validation_rule = $v_rule;
$required_post_string_field->use_db_filter = DB_FILTER::OFF;
$required_post_string_field->use_db_filter = E\DB_FILTER::OFF;
$required_post_string_field->skip_the_db = false;
return $required_post_string_field;
}
@ -44,32 +42,27 @@ class home_in {
);
unset($posts_data); // free it up...
SafeIO::set_data_input('name', $user_test_data->name);
SafeIO::set_data_input('age', $user_test_data->age);
SafeIO::set_data_input('email', $user_test_data->email);
SafeIO::set_data_from($user_test_data);
$v = new \CodeHydrater\attributes\validators\my_validator();
$v->validate($user_test_data);
$default_value = false; // false = Generate errors on missing fields, null = allow missing data
$v->validate($user_test_data, default: $default_value);
$name_field = self::define_io();
$html['name'] = self::define_io();
$adult_post_int_age_field = new IO();
$adult_post_int_age_field->input_type = INPUTS::post;
$adult_post_int_age_field->field_filter = FIELD_FILTER::integer_number;
$adult_post_int_age_field->validation_rule = 'greater_than: 17';
$adult_post_int_age_field->validation_message = ['greater_than' => 'The %s must be an Adult over %d!'];
$html['age'] = new IO();
$html['age']->input_type = E\INPUTS::variable;
$html['age']->error_on_null = true;
$html['age']->field_filter = E\FIELD_FILTER::integer_number;
$html['age']->validation_rule = 'number_range: 18, 130';
$html['age']->validation_message = ['number_range' => 'The %s must be an Adult over %d and under %d!'];
$email_field = self::define_io('required|max: 255');
$html['email'] = self::define_io('required|max: 255|email');
return [
'method' => $app->request->get_method(),
'headers' => ['Full Name', 'Age', 'Email'],
'html' => [
'name' => $name_field,
'age' => $adult_post_int_age_field,
'email' => $email_field,
],
'table_headers' => ['Full Name', 'Age', 'Email'],
'html' => $html,
'post_data' => get_object_vars($user_test_data),
'a_errors' => $v->get_errors()
];

@ -24,6 +24,7 @@ class home_out {
if (\CodeHydrater\common::get_count($html['errors'])) {
$errors[$key] = $html['errors'][$key];
}
// dd($html, \CodeHydrater\enums\exit_on_dump::keep_working);
}
$one_row[] = $html_output;
@ -31,16 +32,14 @@ class home_out {
$data = [
'did_submit' => $did_submit,
'headers' => $input['headers'],
'table_headers' => $input['table_headers'],
'user' => $one_row,
'safe_html' => $html_output,
'post_data' => $input['post_data'],
'a_errors' => array_merge($input['a_errors'], $errors),
];
$app->view->set('twig_data', [
...$data
]);
$app->view->set('twig_data', $data);
$app->view->set('twig_functions', [
'show_table' => '\CodeHydrater\html::show_table',
'show_errors' => '\CodeHydrater\html::show_errors',

@ -8,7 +8,7 @@
{% if did_submit and a_errors is empty %}
{{ show_table(headers, user, false) }}
{{ show_table(table_headers, user, false) }}
<p>{{ safe_html.name }}, you Rock!</p>

Loading…
Cancel
Save