20 lines
1.3 KiB
PHP
20 lines
1.3 KiB
PHP
<?php
|
|
if (!defined('ABSPATH')) exit;
|
|
class WMF_Field_Email extends WMF_Field_Base {
|
|
public $type='email'; public $label='E-Mail'; public $icon='dashicons-email-alt';
|
|
public function render($field,$value='') { ?>
|
|
<div class="<?php echo esc_attr($this->wrapper_classes($field)); ?>"<?php echo $this->conditional_attrs($field); ?> data-field-id="<?php echo esc_attr($field['id']); ?>">
|
|
<?php $this->render_label($field); ?>
|
|
<input type="email" id="<?php echo esc_attr($field['id']); ?>" name="wmf_fields[<?php echo esc_attr($field['id']); ?>]" value="<?php echo esc_attr($value); ?>" placeholder="<?php echo esc_attr($field['placeholder']??''); ?>" <?php echo(!empty($field['required'])&&$field['required']==='1')?'required':''; ?> class="wmf-input" autocomplete="email">
|
|
<?php $this->render_description($field); ?>
|
|
<span class="wmf-field-error-msg"></span>
|
|
</div><?php
|
|
}
|
|
public function validate($value,$field) {
|
|
$base=parent::validate($value,$field); if($base!==true) return $base;
|
|
if($value!==''&&!is_email($value)) return sprintf('Bitte geben Sie eine gültige E-Mail-Adresse für „%s" ein.',$field['label']);
|
|
return true;
|
|
}
|
|
public function sanitize($value,$field) { return sanitize_email($value); }
|
|
}
|