diff --git a/protected/src/inputs/app/home_in.php b/protected/src/inputs/app/home_in.php index 0fe83cb..325cb6f 100644 --- a/protected/src/inputs/app/home_in.php +++ b/protected/src/inputs/app/home_in.php @@ -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() ]; diff --git a/protected/src/outputs/app/home_out.php b/protected/src/outputs/app/home_out.php index e76384f..62fa0ef 100644 --- a/protected/src/outputs/app/home_out.php +++ b/protected/src/outputs/app/home_out.php @@ -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', diff --git a/protected/src/views/twig/app/val_tests.html.twig b/protected/src/views/twig/app/val_tests.html.twig index 6114a02..599ce4b 100644 --- a/protected/src/views/twig/app/val_tests.html.twig +++ b/protected/src/views/twig/app/val_tests.html.twig @@ -8,7 +8,7 @@ {% if did_submit and a_errors is empty %} - {{ show_table(headers, user, false) }} + {{ show_table(table_headers, user, false) }}
{{ safe_html.name }}, you Rock!