| @@ -9,19 +9,16 @@ | ||
| 9 | 9 | class FrmFieldEmail extends FrmFieldType { |
| 10 | 10 | |
| 11 | 11 | /** |
| 12 | 12 | * @var string |
| 13 | + * | |
| 13 | 14 | * @since 3.0 |
| 14 | 15 | */ |
| 15 | 16 | protected $type = 'email'; |
| 16 | 17 | |
| 17 | 18 | /** |
| 18 | - * @var string | |
| 19 | - */ | |
| 20 | - protected $display_type = 'text'; | |
| 21 | - | |
| 22 | - /** | |
| 23 | 19 | * @var bool |
| 20 | + * | |
| 24 | 21 | * @since 3.0 |
| 25 | 22 | */ |
| 26 | 23 | protected $holds_email_values = true; |
| 27 | 24 | |
| @@ -48,10 +45,15 @@ | ||
| 48 | 45 | * |
| 49 | 46 | * @return array |
| 50 | 47 | */ |
| 51 | 48 | public function validate( $args ) { |
| 49 | + if ( ! $args['value'] ) { | |
| 50 | + return array(); | |
| 51 | + } | |
| 52 | + | |
| 52 | 53 | $errors = array(); |
| 53 | - if ( $args['value'] != '' && ! is_email( $args['value'] ) ) { | |
| 54 | + | |
| 55 | + if ( str_contains( $args['value'], '.@' ) || ! is_email( $args['value'] ) ) { | |
| 54 | 56 | $errors[ 'field' . $args['id'] ] = FrmFieldsHelper::get_error_msg( $this->field, 'invalid' ); |
| 55 | 57 | } |
| 56 | 58 | |
| 57 | 59 | return $errors; |
| @@ -58,8 +60,10 @@ | ||
| 58 | 60 | } |
| 59 | 61 | |
| 60 | 62 | /** |
| 61 | 63 | * @since 4.0.04 |
| 64 | + * | |
| 65 | + * @param array|string $value Email value passed by reference. | |
| 62 | 66 | * |
| 63 | 67 | * @return void |
| 64 | 68 | */ |
| 65 | 69 | public function sanitize_value( &$value ) { |