mvccore / ext-form-field-text
MvcCore - Extension - Form - Field - Text - form field types - input:text, input:email, input:password, input:search, input:tel, input:url and textarea.
v5.3.0
2024-11-21 15:01 UTC
Requires
- php: >=5.4.0
- mvccore/ext-form: ^5.3
- mvccore/mvccore: ^5.3
Requires (Dev)
None
Suggests
- mvccore/ext-form-validator-special: MvcCore form extension with special text and numeric validators.
Provides
None
Conflicts
None
Replaces
None
README
MvcCore form extension with input field types text, email, password, search, tel, url and textarea field.
Installation
composer require mvccore/ext-form-field-text
Fields And Default Validators
input:text,input:searchSafeString- configured by default
- XSS string protection to safely display submitted value in response, configured by default
MinMaxLength- not configured by default
- validation by PHP
mb_strlen()for min. and max.
Pattern- not configured by default
- validation by PHP
preg_match()
input:password(extended frominput:text)Password- not configured by default
- validation by configurable password strength rules
SafeString,MinMaxLength,Pattern- not configured by default, ...description above
input:email(extended frominput:text)Email- configured by default
- single/multiple email form validation by PHP
filter_var($rawValue, FILTER_VALIDATE_EMAIL);
SafeString,MinMaxLength,Pattern- not configured by default, ...description above
input:tel(extended frominput:text)Tel- configured by default
- validation for not allowed chars in phone number, no validation for international phone number form
SafeString,MinMaxLength,Pattern- not configured by default, ...description above
input:url(extended frominput:text)Url- configured by default
- url validation by regular expression, SSRF save value, optional DNS validation and many other options
SafeString,MinMaxLength,Pattern- not configured by default, ...description above
textareaSafeString- configured by defaultMinMaxLength,Pattern- not configured by default, ...description above
Features
- always server side checked attributes
required,disabledandreadonly - all HTML5 specific and global atributes (by Mozilla Development Network Docs)
- every field has it's build-in specific validator described above
- every build-in validator adds form error (when necessary) into session and than all errors are displayed/rendered and cleared from session on error page, where user is redirected after submit
- any field is possible to render naturally or with custom template for specific field class/instance
- very extensible field classes - every field has public template methods:
SetForm()- called immediatelly after field instance is added into form instancePreDispatch()- called immediatelly before any field instance rendering typeRender()- called on every instance in form instance rendering process- submethods:
RenderNaturally(),RenderTemplate(),RenderControl(),RenderLabel()...
- submethods:
Submit()- called on every instance when form is submitted
Examples
- Example - CD Collection (mvccore/example-cdcol)
- Application - Questionnaires (mvccore/app-questionnaires)
Basic Example
$form = (new \MvcCore\Ext\Form($controller))->SetId('demo'); ... $username = new \MvcCore\Ext\Forms\Fields\Text(); $username ->SetName('username') ->SetPlaceHolder('User'); $password = new \MvcCore\Ext\Forms\Fields\Password([ 'name' => 'password', 'placeHolder' => 'Password', 'validators' => ['Password'], ]); ... $form->AddFields($username, $password);