hypejunction / hypeprototypervalidators
hypePrototyper validation rules
Installs: 179
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:elgg-plugin
Requires
- respect/validation: ~0.9.0
Requires (Dev)
README
Predefined Validators
type
Asserts that user input is expected to be of a certain type.
string
alnum
- allows only alphanumeric characters and whitespacesalpha
- allows only alpha characters and whitespacesint
- allow only integer valuesnumeric
- allows numeric valuesdate
- allows date/time strings and objectsurl
- allows only valid URLsemail
- allows only valid email addresses
$field = array( 'type' => 'text', 'validation_rules' => array( 'type' => 'alnum', ), );
min
and max
Asserts that user input is between min and max values
$field = array( 'type' => 'text', 'validation_rules' => array( 'type' => 'int', 'min' => 10, 'max' => 20, ), );
minlength
and maxlength
Asserts that the length of user input is between min and max values
$field = array( 'type' => 'password', 'validation_rules' => array( 'type' => 'string', 'minlength' => 6, 'maxlength' => 25, ), );
contains
Asserts that user input contains a predefined string
$field = array( 'type' => 'text', 'validation_rules' => array( 'type' => 'string', 'contains' => 'hello world', ), );
regex
Asserts that user input matches a regex pattern
$field = array( 'type' => 'time', 'validation_rules' => array( 'type' => 'string', 'regex' => '^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$', ), );
Custom Validators
You can define custom validation rules, using the following pattern:
// Callback for validating user input elgg_register_plugin_hook_handler('validate:my_rule', 'prototyper', 'my_callback'); // Register the validation rule to make it available in hypePrototyperUI hypePrototyper()->config->registerValidationRule('my_rule');
Client-Side Validation
Partial client-side validation is available through Parsley.js. Do enable validation,
add data-parsley-validate
to your form attributes.
echo elgg_view_form('my_prototyped_form', array( 'enctype' => 'multipart/form-data', 'data-parsley-validate' => true, ), $vars);