Copied!

The Form class handles all the housekeeping of dealing with forms, including automatically setting up validation, a CSRF field and handling a submit button. Form submissions can be detected with isMyCallback. If it returns true, you should do appropriate work

CloneableInstantiable
Constants
public PHPFUI\Base::DEBUG_SOURCE = 1
Methods
public PHPFUI\HTML5Element::__clone()
public __construct(PHPFUI\Interfaces\Page $page, ?PHPFUI\Submit $submit = NULL, string $successFunctionName = '')
 

Form needs a Page, as it adds things to the page to handle automatic abide validation

  • param \Submit $submit the submit button. Passing the submit button does not add it to the page, you must do that elsewhere, but it does set up automatic callback notification.
  • param string $successFunctionName global JavaScript function to execute on page submission success. It will be passed one parameter which is the response from the POST, which is set via Page::setResponse or setRawResponse
public PHPFUI\Base::__toString() : string
public PHPFUI\Base::add(?mixed $item) : static
 

Base add function. Adds to the end of the current objects

  • param mixed $item should be convertable to string
public PHPFUI\Base::addAsFirst(?mixed $item) : static
 

Base addAsFirst function. Adds to the front of the current object

  • param mixed $item should be convertable to string
public PHPFUI\HTML5Element::addAttribute(string $attribute, string $value = '') : static
 

Add an attribute the the object

  • param string $value of the attribute, blank for just a plain attribute
public PHPFUI\HTML5Element::addClass(string $class) : static
 

Add a class to an object

  • param string $class name(s) to add
public PHPFUI\HTML5Element::addPHPClassName() : static
 

Adds the base PHP class name as a class to this object

public addSubmitButtonCallback(PHPFUI\Submit $submit, string $successFunctionName) : static
public PHPFUI\Base::count() : int
 

Number of object in this object. Does not count sub objects.

public PHPFUI\HTML5Element::deleteAttribute(string $attribute) : static
 

Deletes the passed attribute

public PHPFUI\HTML5Element::deleteAttributes() : static
 

Deletes all attributes

public PHPFUI\HTML5Element::deleteClass(string $classToDelete) : static
 

Delete a class from the object

public PHPFUI\HTML5Element::disabled() : static
 

Disabled the element

public PHPFUI\Base::done(bool $done = true) : static
 

Form is done rendering

public PHPFUI\HTML5Element::getAttribute(string $attribute) : ?string
 

Get an attribute

  • return ?string does not exist if null
public PHPFUI\HTML5Element::getAttributes() : string
 

Returns the attribute strings. Attributes with values are returned as name/value pairs, attributes without values are returned as just the attribute name.

public PHPFUI\HTML5Element::getClass() : string
 

Returns the class attribute ready for insertion into an element.

public PHPFUI\HTML5Element::getClasses() : array
 

Returns all classes for the object

  • return string[]
public static PHPFUI\Base::getDebug(int $flags = 0) : int
 

Gets the current debug setting

public PHPFUI\HTML5Element::getElement() : string
 

Return the type of the element

public PHPFUI\HTML5Element::getId() : string
 

Return the id of the object. Elements will not have an id unless this method is called. The id is returned as a string starting with id followed by a unique number to the page. Id numbers are deterministic and start start with 1. Once assigned an id, an element will always have the same id. It will get a new id if cloned.

public PHPFUI\HTML5Element::getIdAttribute() : string
 

Return the id attribute of the object as a name/value pair. If no id has been requested, and empty string is returned.

public getPage() : PHPFUI\Interfaces\Page
public PHPFUI\Base::getResponse() : string
 

Get the current response

public PHPFUI\HTML5Element::getToolTip(string $label) : PHPFUI\ToolTip|string
 

Get the tool tip as a string

  • return \ToolTip|string return type depends on if the tip was set as a string or ToolTip object.
public PHPFUI\HTML5Element::hasClass(string $class) : bool
 

Return true if the class is present on the object

public PHPFUI\HTML5Element::hasId() : bool
 

Does this object have an id set already?

public PHPFUI\HTML5Element::hasToolTip() : bool
 
  • return bool if there is a tool tip associated with this element
public PHPFUI\Base::isDone() : bool
 

Returns true if the page needs no more processing

public isMyCallback(?PHPFUI\Submit $submit = NULL) : bool
 

Returns true if the submit button passed in the ctor or here was pressed by the user.

public PHPFUI\HTML5Element::newId() : static
 

Assign a new id to this element.

public PHPFUI\Base::prepend(?mixed $item) : static
 

Add an object in front of existing object

public saveOnClick(PHPFUI\HTML5Element $button, ?PHPFUI\Submit $submit = NULL) : static
 

Any clickable element passed to this function will issue an AJAX call to save the form.

  • param \PHPFUI\HTML5Element $button to click (generally to do something else on the form, but not the save button)
  • param \PHPFUI\Submit $submit optional button to emulate a click for, defaults to Submit button used in the ctor
public setAreYouSure(bool $areYouSure = true) : static
 

Forms automatically ask the user if they are sure they want to navigate away from the page if the user has entered any data. You can use this to turn off that behavior. A good example of why you might want to do this is search criteria type forms where the data is not normally saved.

public PHPFUI\HTML5Element::setAttribute(string $attribute, string $value = '') : static
 

Set the attribute overwriting the prior value

  • param string $value of the attribute, blank for just a plain attribute
public PHPFUI\HTML5Element::setConfirm( $text) : static
 

A simple way to set a confirm on click

  • param string $text confirm text
public static PHPFUI\Base::setDebug(int $level = 0) : void
 

Set the debug level, 1 or higher is on

public PHPFUI\HTML5Element::setElement( $element) : static
 

You can set the element type if you need to morph it for some reason

  • param string $element
public PHPFUI\HTML5Element::setId( $id) : static
 

Set the base id of the object

  • param string $id to set. Will be returned as set. It is up to the caller to prevent duplicate ids.
public PHPFUI\Base::setRawResponse(string $response, bool $asJSON = true) : static
 

Sets the page response directly and exits the program

  • return never|static
public PHPFUI\Base::setResponse(string $response, string $color = 'lime') : static
 

Set a response in the standard format ('reponse' and 'color' array) exit will be called after returning the encoded response

  • param string $response to return
  • param string $color used for the save button
  • return never|static
public PHPFUI\HTML5Element::setToolTip(PHPFUI\ToolTip|string $tip) : static
 

Set the tool tip. Can either be a ToolTip or a string. If it is a string, it will be converted to a ToolTip

public PHPFUI\HTML5Element::toggleAnimate(PHPFUI\HTML5Element $element, string $animation) : static
 

Will toggle the provided element on click with the provided animation.

public PHPFUI\HTML5Element::toggleClass(PHPFUI\HTML5Element $element, string $class) : static
 

Will toggle the class on the provided element on click.

public PHPFUI\HTML5Element::transferAttributes(PHPFUI\HTML5Element $from) : static
 

Moves attributes into this object from the passed object

public PHPFUI\HTML5Element::transferClasses(PHPFUI\HTML5Element $from) : static
 

Moves classes into this object from the passed object

public PHPFUI\Base::walk(string $method, ?mixed $argument = NULL) : static
 

Recursively walks all objects and calls the passed method on each object where it exists

  • param string $method to call on the object in the collection
  • param mixed $argument to pass to the method
Properties
protected PHPFUI\Interfaces\Page $page
Methods
protected PHPFUI\HTML5Element::getBody() : string
protected PHPFUI\HTML5Element::getEnd() : string
protected PHPFUI\Base::getItems() : array
 
  • return array
protected getStart() : string
protected PHPFUI\HTML5Element::upCastCopy(PHPFUI\HTML5Element $to, PHPFUI\HTML5Element $from) : object
 

Clones the first object and fills it with properties from the second object

Properties
private bool $areYouSure = true
private bool $started = false
private array $submitValue = []
 
  • var array<string,string>
Methods
private getSubmitValues(?PHPFUI\Submit $submit = NULL) : array
 
  • return string[]
Methods
public static PHPFUI\Base::getDebug(int $flags = 0) : int
 

Gets the current debug setting

public static PHPFUI\Base::setDebug(int $level = 0) : void
 

Set the debug level, 1 or higher is on

© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration