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; namespace Project\inputs\app;
use \CodeHydrater\attributes\validators as Assert; use \CodeHydrater\attributes\validators as Assert;
use \CodeHydrater\enums\INPUTS; use \CodeHydrater\enums as E;
use \CodeHydrater\enums\FIELD_FILTER;
use \CodeHydrater\enums\HTML_FLAG;
use \CodeHydrater\enums\DB_FILTER;
use \CodeHydrater\bootstrap\use_io as IO; use \CodeHydrater\bootstrap\use_io as IO;
use \CodeHydrater\bootstrap\safer_io as SafeIO; 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') { private static function define_io(string $v_rule = 'required|max: 70') {
$required_post_string_field = new IO(); $required_post_string_field = new IO();
$required_post_string_field->input_type = INPUTS::variable; $required_post_string_field->input_type = E\INPUTS::variable;
$required_post_string_field->field_filter = FIELD_FILTER::raw_string; $required_post_string_field->error_on_null = true;
$required_post_string_field->escape_html = HTML_FLAG::escape; $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->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; $required_post_string_field->skip_the_db = false;
return $required_post_string_field; return $required_post_string_field;
} }
@ -44,32 +42,27 @@ class home_in {
); );
unset($posts_data); // free it up... unset($posts_data); // free it up...
SafeIO::set_data_from($user_test_data);
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);
$v = new \CodeHydrater\attributes\validators\my_validator(); $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(); $html['age'] = new IO();
$adult_post_int_age_field->input_type = INPUTS::post; $html['age']->input_type = E\INPUTS::variable;
$adult_post_int_age_field->field_filter = FIELD_FILTER::integer_number; $html['age']->error_on_null = true;
$adult_post_int_age_field->validation_rule = 'greater_than: 17'; $html['age']->field_filter = E\FIELD_FILTER::integer_number;
$adult_post_int_age_field->validation_message = ['greater_than' => 'The %s must be an Adult over %d!']; $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 [ return [
'method' => $app->request->get_method(), 'method' => $app->request->get_method(),
'headers' => ['Full Name', 'Age', 'Email'], 'table_headers' => ['Full Name', 'Age', 'Email'],
'html' => [ 'html' => $html,
'name' => $name_field,
'age' => $adult_post_int_age_field,
'email' => $email_field,
],
'post_data' => get_object_vars($user_test_data), 'post_data' => get_object_vars($user_test_data),
'a_errors' => $v->get_errors() 'a_errors' => $v->get_errors()
]; ];

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

@ -8,7 +8,7 @@
{% if did_submit and a_errors is empty %} {% 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> <p>{{ safe_html.name }}, you Rock!</p>

Loading…
Cancel
Save