Skip to content
Snippets Groups Projects

release: 3.0.0

Merged Krzysztof Dyszczyk requested to merge devel into master
7 files
+ 43
62
Compare changes
  • Side-by-side
  • Inline

Files

+ 31
38
@@ -6,7 +6,6 @@ use WPDesk\Forms\Field;
use WPDesk\Forms\Sanitizer;
use WPDesk\Forms\Sanitizer\NoSanitize;
use WPDesk\Forms\Serializer;
use WPDesk\Forms\Serializer\NoSerialize;
use WPDesk\Forms\Validator;
use WPDesk\Forms\Validator\ChainValidator;
use WPDesk\Forms\Validator\RequiredValidator;
@@ -33,6 +32,35 @@ abstract class BasicField implements Field {
'serializer' => null,
];
public function should_override_form_template(): bool {
return false;
}
public function get_type(): string {
return 'text';
}
public function get_validator(): Validator {
$chain = new ChainValidator();
if ( $this->is_required() ) {
$chain->attach( new RequiredValidator() );
}
return $chain;
}
public function get_sanitizer(): Sanitizer {
return new NoSanitize();
}
public function get_serializer(): Serializer {
return null;
}
final public function get_name(): string {
return $this->attributes['name'];
}
final public function get_label(): string {
return $this->meta['label'];
}
@@ -51,11 +79,6 @@ abstract class BasicField implements Field {
return ! empty( $this->meta['description_tip'] );
}
/** Override method if you need. */
public function should_override_form_template(): bool {
return false;
}
final public function get_description(): string {
return $this->meta['description'];
}
@@ -80,10 +103,6 @@ abstract class BasicField implements Field {
return $this;
}
public function get_type(): string {
return 'text';
}
final public function set_placeholder( string $value ): Field {
$this->attributes['placeholder'] = $value;
@@ -132,9 +151,6 @@ abstract class BasicField implements Field {
return $this->attributes['id'] ?? sanitize_title( $this->get_name() );
}
public function get_name(): string {
return $this->attributes['name'];
}
final public function is_multiple(): bool {
return $this->attributes['multiple'];
@@ -211,35 +227,12 @@ abstract class BasicField implements Field {
return $this;
}
public function get_validator(): Validator {
$chain = new ChainValidator();
if ( $this->is_required() ) {
$chain->attach( new RequiredValidator() );
}
return $chain;
}
final public function is_required(): bool {
return $this->attributes['required'];
}
public function get_sanitizer(): Sanitizer {
return new NoSanitize();
}
final public function get_serializer(): Serializer {
if ( ! empty( $this->meta['serializer'] ) && $this->meta['serializer'] instanceof Serializer ) {
return $this->meta['serializer'];
}
return new NoSerialize();
}
public function set_serializer( Serializer $serializer ): Field {
$this->meta['serializer'] = $serializer;
return $this;
final public function has_serializer(): bool {
return ! empty( $this->meta['serializer'] );
}
final public function get_priority(): int {
Loading