Class: \Conifer\Form\AbstractBase (abstract)

Abstract form base class, encapsulating the Conifer Form API Example usage: php use Conifer\Form\AbstractBase; class EmployeeForm extends AbstractBase { public function __construct() { $this->fields = [ 'user_login' => [ 'label' => 'Username', 'validators' => [ [$this, 'validate_required_field'], [$this, 'validate_login'] ], ], 'user_email' => [ 'label' => 'Email', 'validators' => [[$this, 'validate_email']], ], 'first_name' => [ 'label' => 'First Name', 'validators' => [ [$this, 'validate_required_field'], [$this, 'validate_name'] ], ], 'last_name' => [ 'label' => 'Last Name', 'validators' => [ [$this, 'validate_required_field'], [$this, 'validate_name'] ], ], ]; } public function validate_email(array $emailField, string $email) { // We can call other pre-defined validators here $valid = $this->validate_required_field($emailField, $email); if ($valid) { // End-user specified an email, but is it valid? $valid = !empty(filter_var($email, FILTER_VALIDATE_EMAIL)); if (!$valid) { // NOPE. $this->add_error($emailField, 'invalid email!'); } } return $valid; } public function validate_name(array $nameField, string $name) { // We can get as simple as we want to! // Here we're just checking that $name matches a certain value. $valid = $name === 'Bob'; if (!$valid) { $this->add_error($nameField, 'only people name Bob are worthy'); } return $valid; } public function validate_login(array $loginField, string $login, array $submission) { // The validate() method passes all submitted data to each validator. // So, if you need to, you can look at other fields: $leet = $login === $submission['name'].'_x1337x'; // Check if the login is cool enough. if (!$leet) { $this->add_error( $loginField, 'You login is not cool enough. It must be your name plus the string "_x1337x".' ); } return $leet; } } Note that for a given field, "validators" is a list of callbacks. Validators define their own error messaging; that is, if a validator method finds that a field is invalid for some reason, it is responsible for adding an error message for that field. While this is a little more work, it allows for fine-grained control over the order in which fields are validated, and the messages that are displayed for specific reasons.

Visibility Function
public __construct(array $files=null)</strong> : void
Constructor
public add_error(\string $fieldName, \string $message)</strong> : void
Add an error message to a specific field. You can also add errors to the form globally or to some aspect of the form, as long as you use the same $fieldName to refer to it at render time using get_errors_for().
public checked(string $field, string $value=null)</strong> : bool true if the field was checked
Whether or not $field was checked in the submission, optionally matching on $value (e.g. for radio buttons). necessary e.g. for radio inputs, where there's more than one possible value.
public static create_from_submission(mixed $args)</strong> : \Conifer\Form\AbstractBase the form object
Create a new instance from the request array (e.g. $_POST) and return the hydrated form object. Takes a variable number of arguments, but the first argument MUST be the submitted values, as an associative array. The remaining arguments, if any, are passed to the constructor.
public get(mixed $field)</strong> : the submitted value, or the existing persisted value if no value has been submitted, or otherwise null.
Get the current value for the given form field.
public get_error_messages_for(\string $fieldName)</strong> : array an array of error message strings
Get error messages for a specific field
public get_errors() : array
Get the errors collected while processing this form, if any
public get_errors_for(\string $fieldName)</strong> : array an array of error arrays
Get errors for a specific field
public get_field(\string $name)</strong> : array/null the field, or null if it doesn't exist
Get a field by its name
public get_fields() : array an array of form fields.
Get the fields configured for this form
public get_file(\string $field)</strong> : array An array of data for the given file upload. Will be empty if the field doesn't exist or an error occurred during upload.
Get an uploaded file by field name
public get_file_upload_error_message(array $field, \integer $errorCode)</strong> : string The error message, based on the specified upload error code
Returns an error message for a given file upload field, based on the provided PHP upload error code.
public get_files() : array an array of uploaded files.
Get the files configured uploaded to this form
public get_unique_error_messages() : array
Get all unique error messages as a flat array, e.g. for displaying in a list at the top of the
element
public get_whitelisted_fields(array $submission)</strong> : array the whitelisted fields
Get the submitted values, filtered down to only fields decared in the constructor
public has_errors() : bool
Whether this form has any validation errors
public has_errors_for(\string $fieldName)</strong> : bool
Whether the field $fieldName has any validation errors
public hydrate(array $submission)</strong> : \Conifer\Form\AbstractBase this form instance
Hydrate this form object with the submitted values
public abstract process(array $request)</strong> : void
Process the form submission.
public require(array $field, \string $value)</strong> : boolean
Alias of validate_required_field
public require_file(array $field)</strong> : boolean
Alias of validate_required_file
public selected(\string $field, mixed $optionValue)</strong> : bool
Whether $field was selected with the value $optionValue. php if ($form->selected('company_to_contact', 'acme')) { $acmeClient = new AcmeClient(); $acmeClient->sendMessage('Someone chose you!'); } actual submitted value
public set_files(array $files=null)</strong> : \Conifer\Form\AbstractBase This form instance
Set the uploaded files for this form, generally to the contents of the $_FILES superglobal.
public succeeded() : boolean
Whether this form has been processed without errors
public validate(array $submission)</strong> : boolean whether the submission is valid
Check field values according to their respective validators, returning whether all validations pass. NOTE: This doesn't add any errors explicitly; specific validators are responsible for that.
public validate_file_mime_type(array $field, \string $value, array $submission, array $validTypes=array())</strong> : boolean
Check if the specified file upload field submission matches an array of whitelisted mime types
public validate_file_upload(array $field)</strong> : boolean
Check whether the specified file field has an upload error, adding an error if so.
public validate_required_field(array $field, \string $value)</strong> : boolean
Check whether a value was submitted for the given field, adding an error if not.
public validate_required_file(array $field)</strong> : boolean
Check whether a required file upload was submitted, adding an error if not.
protected execute_validator(mixed $validator, array $field, array $submission)</strong> : boolean
Execute a single field validator any errors raised
protected filter_field(array $field, mixed $value)</strong> : mixed the filtered value
Filter a submitted field value using the field's declared filter logic, if any. If a field default is provided, the default is applied after the filter (that is, to the result of the filter callback).
protected throw_files_exception_if_not_set() : void
Throws an exception if the files property is null
protected validate_field(array $field, array $submission)</strong> : boolean
Validate a single field MUST include at least a name index.

results matching ""

    No results matching ""