name = esc_html__( 'Password', 'forminator' ); $required = __( 'Your password is required.', 'forminator' ); self::$default_required_messages[ $this->type ] = $required; } /** * Field defaults * * @since 1.0 * @return array */ public function defaults() { return array( 'field_label' => esc_html__( 'Password', 'forminator' ), 'placeholder' => esc_html__( 'Enter your password', 'forminator' ), 'confirm-password-label' => esc_html__( 'Confirm Password', 'forminator' ), 'confirm-password-placeholder' => esc_html__( 'Confirm new password', 'forminator' ), 'strength' => 'none', ); } /** * Autofill Setting * * @since 1.0.5 * * @param array $settings Settings. * * @return array */ public function autofill_settings( $settings = array() ) { $providers = apply_filters( 'forminator_field_' . $this->slug . '_autofill', array(), $this->slug ); $autofill_settings = array( 'text' => array( 'values' => forminator_build_autofill_providers( $providers ), ), ); return $autofill_settings; } /** * Field front-end markup * * @since 1.0 * * @param array $field Field. * @param Forminator_Render_Form $views_obj Forminator_Render_Form object. * * @return mixed */ public function markup( $field, $views_obj ) { $settings = $views_obj->model->settings; $this->field = $field; $this->form_settings = $settings; $html = ''; $id = self::get_property( 'element_id', $field ); $name = $id; $id = self::get_field_id( $id ); $required = self::get_property( 'required', $field, false ); $ariareq = 'false'; $default = self::get_property( 'default', $field, false ); $placeholder = $this->sanitize_value( self::get_property( 'placeholder', $field ) ); $field_type = trim( self::get_property( 'input_type', $field ) ); $label = self::get_property( 'field_label', $field, '' ); $description = self::get_property( 'description', $field, '' ); $limit = self::get_property( 'limit', $field, 0, 'num' ); $limit_type = self::get_property( 'limit_type', $field, '', 'str' ); $is_confirm = self::get_property( 'confirm-password', $field, '', 'bool' ); $has_toggle = self::get_property( 'password-visibility-toggle', $field, false, 'bool' ); $autofill_markup = $this->get_element_autofill_markup_attr( self::get_property( 'element_id', $field ) ); if ( (bool) $required ) { $ariareq = 'true'; } $input_text = array( 'name' => $name, 'value' => $default, 'placeholder' => $placeholder, 'id' => $id, 'class' => 'forminator-input forminator-name--field', 'data-required' => $required, 'type' => 'password', ); if ( ! empty( $default ) ) { $input_text['value'] = $default; } if ( ! empty( $description ) ) { $input_text['aria-describedby'] = $id . '-description'; } $input_text = array_merge( $input_text, $autofill_markup ); $html .= '