diff --git a/src/Field/InputEmailField.php b/src/Field/InputEmailField.php new file mode 100644 index 0000000000000000000000000000000000000000..ee184120c6a30bceea8e763d81692701e723245f --- /dev/null +++ b/src/Field/InputEmailField.php @@ -0,0 +1,22 @@ +<?php + +namespace WPDesk\Forms\Field; + +use WPDesk\Forms\Sanitizer; +use WPDesk\Forms\Sanitizer\EmailSanitizer; + +class InputEmailField extends BasicField { + public function __construct() { + parent::__construct(); + $this->set_default_value( '' ); + $this->set_attribute( 'type', 'email' ); + } + + public function get_sanitizer(): Sanitizer { + return new EmailSanitizer(); + } + + public function get_template_name(): string { + return 'input-text'; + } +} diff --git a/src/Sanitizer/EmailSanitizer.php b/src/Sanitizer/EmailSanitizer.php new file mode 100644 index 0000000000000000000000000000000000000000..1a51a783627f72a8097d908f8637329cb0ab73be --- /dev/null +++ b/src/Sanitizer/EmailSanitizer.php @@ -0,0 +1,12 @@ +<?php + +namespace WPDesk\Forms\Sanitizer; + +use WPDesk\Forms\Sanitizer; + +class EmailSanitizer implements Sanitizer { + public function sanitize( $value ): string { + return sanitize_email( $value ); + } + +}