The following files exists in this folder. Click to view.
CFormExample.php1 lines ASCII Unix (LF) <?php
namespace Anax\HTMLForm;
/**
* Anax base class for wrapping sessions.
*
*/
class CFormExample extends \Mos\HTMLForm\CForm
{
use \Anax\DI\TInjectionaware,
\Anax\MVC\TRedirectHelpers;
/**
* Constructor
*
*/
public function __construct()
{
parent::__construct([], [
'name' => [
'type' => 'text',
'label' => 'Name of contact person:',
'required' => true,
'validation' => ['not_empty'],
],
'email' => [
'type' => 'text',
'required' => true,
'validation' => ['not_empty', 'email_adress'],
],
'phone' => [
'type' => 'text',
'required' => true,
'validation' => ['not_empty', 'numeric'],
],
'submit' => [
'type' => 'submit',
'callback' => [$this, 'callbackSubmit'],
],
'submit-fail' => [
'type' => 'submit',
'callback' => [$this, 'callbackSubmitFail'],
],
]);
}
/**
* Customise the check() method.
*
* @param callable $callIfSuccess handler to call if function returns true.
* @param callable $callIfFail handler to call if function returns true.
*/
public function check($callIfSuccess = null, $callIfFail = null)
{
return parent::check([$this, 'callbackSuccess'], [$this, 'callbackFail']);
}
/**
* Callback for submit-button.
*
*/
public function callbackSubmit()
{
$this->AddOutput("<p><i>DoSubmit(): Form was submitted. Do stuff (save to database) and return true (success) or false (failed processing form)</i></p>");
$this->AddOutput("<p><b>Name: " . $this->Value('name') . "</b></p>");
$this->AddOutput("<p><b>Email: " . $this->Value('email') . "</b></p>");
$this->AddOutput("<p><b>Phone: " . $this->Value('phone') . "</b></p>");
$this->saveInSession = true;
return true;
}
/**
* Callback for submit-button.
*
*/
public function callbackSubmitFail()
{
$this->AddOutput("<p><i>DoSubmitFail(): Form was submitted but I failed to process/save/validate it</i></p>");
return false;
}
/**
* Callback What to do if the form was submitted?
*
*/
public function callbackSuccess()
{
$this->AddOUtput("<p><i>Form was submitted and the callback method returned true.</i></p>");
$this->redirectTo();
}
/**
* Callback What to do when form could not be processed?
*
*/
public function callbackFail()
{
$this->AddOutput("<p><i>Form was submitted and the Check() method returned false.</i></p>");
$this->redirectTo();
}
}