|
|
|
|
@ -8,19 +8,18 @@ declare(strict_types=1); |
|
|
|
|
* @license MIT |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
namespace Project\inputs\app; |
|
|
|
|
namespace Project\inputs\app\home; |
|
|
|
|
|
|
|
|
|
use \CodeHydrater\attributes\validators as Assert; |
|
|
|
|
use \CodeHydrater\enums as E; |
|
|
|
|
use \CodeHydrater\bootstrap\use_io as IO; |
|
|
|
|
use \CodeHydrater\bootstrap\safer_io as SafeIO; |
|
|
|
|
|
|
|
|
|
class home_in { |
|
|
|
|
class val_tests_in { |
|
|
|
|
|
|
|
|
|
private static function define_io(string $v_rule = 'required|max: 70') { |
|
|
|
|
$required_post_string_field = new IO(); |
|
|
|
|
$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; |
|
|
|
|
@ -29,7 +28,7 @@ class home_in { |
|
|
|
|
return $required_post_string_field; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function val_tests(object $app): array { |
|
|
|
|
private static function validate_tests_form_class(object $app): array { |
|
|
|
|
$posts_data = $app->request->get_post_data(); |
|
|
|
|
|
|
|
|
|
$i_age = intval($posts_data->get("age")); |
|
|
|
|
@ -42,28 +41,32 @@ class home_in { |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
unset($posts_data); // free it up... |
|
|
|
|
SafeIO::set_data_from($user_test_data); |
|
|
|
|
|
|
|
|
|
$v = new \CodeHydrater\attributes\validators\my_validator(); |
|
|
|
|
$v->validate($user_test_data, default_value: Assert\DEFAULT_VALUE::do_error_on_null); |
|
|
|
|
|
|
|
|
|
$v->validate($user_test_data); |
|
|
|
|
$errors = $v->get_errors(); |
|
|
|
|
return ['obj' => $user_test_data, 'err' => $errors]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function entry(object $app): array { |
|
|
|
|
$a = self::validate_tests_form_class($app); |
|
|
|
|
SafeIO::set_data_from($a['obj']); |
|
|
|
|
|
|
|
|
|
$html['name'] = self::define_io(); |
|
|
|
|
|
|
|
|
|
$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_rule = 'required|number_range: 18, 130'; |
|
|
|
|
$html['age']->validation_message = ['number_range' => 'The %s must be an Adult over %d and under %d!']; |
|
|
|
|
|
|
|
|
|
$html['email'] = self::define_io('required|max: 255|email'); |
|
|
|
|
$html['email'] = self::define_io('required|between: 7, 255|email'); |
|
|
|
|
|
|
|
|
|
return [ |
|
|
|
|
'method' => $app->request->get_method(), |
|
|
|
|
'table_headers' => ['Full Name', 'Age', 'Email'], |
|
|
|
|
'html' => $html, |
|
|
|
|
'post_data' => get_object_vars($user_test_data), |
|
|
|
|
'a_errors' => $v->get_errors() |
|
|
|
|
'post_data' => get_object_vars($a['obj']), |
|
|
|
|
'a_errors' => $a['err'], |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -73,10 +76,12 @@ class my_val_tests_form { |
|
|
|
|
#[Assert\Required] |
|
|
|
|
#[Assert\Max(70)] |
|
|
|
|
public ?string $name = null, |
|
|
|
|
#[Assert\Required] |
|
|
|
|
#[Assert\Positive] |
|
|
|
|
#[Assert\NumberRange(18, 130)] |
|
|
|
|
public ?int $age = null, |
|
|
|
|
#[Assert\Between(2, 255)] |
|
|
|
|
#[Assert\Required] |
|
|
|
|
#[Assert\Between(7, 255)] |
|
|
|
|
#[Assert\Email] |
|
|
|
|
public ?string $email = null |
|
|
|
|
) {} |