## change system code
# in the u:OnBeforeItemCreate add line `$object->SetDBField('FirstName', array(1,2,3));` after $object variable is initialized.
# in the users_config php remove `type` key from `FirstName` field configuration (to bypass type validation)
# in the users_config php add elements to 'VirtualFields' array:
'MaxValueInc0Valid' => Array ('type' => 'int', 'max_value_inc' => 0),
'MinValueInc0Valid' => Array ('type' => 'int', 'min_value_inc' => 0),
'MaxValueExc0Valid' => Array ('type' => 'int', 'max_value_exc' => 0),
'MinValueExc0Valid' => Array ('type' => 'int', 'min_value_exc' => 0),
'MaxLen1Valid' => Array ('type' => 'string', 'max_len' => 1),
'MinLen1Valid' => Array ('type' => 'string', 'min_len' => 1),
'MaxValueInc0InValid' => Array ('type' => 'int', 'max_value_inc' => 0),
'MinValueInc0InValid' => Array ('type' => 'int', 'min_value_inc' => 0),
'MaxValueExc0InValid' => Array ('type' => 'int', 'max_value_exc' => 0),
'MinValueExc0InValid' => Array ('type' => 'int', 'min_value_exc' => 0),
'MaxLen2InValid' => Array ('type' => 'string', 'max_len' => 2),
'MinLen2InValid' => Array ('type' => 'string', 'min_len' => 2),
## testing
# go to {nav User Management > Users}
# press `Add` button
# press `Save` button
# confirm that no `strlen() expects parameter 1 to be string, array given` among resulting errors in the debugger
# confirm that no errors with "Valid" group of added virtual fields among resulting errors in the debugger
# confirm that all six "value_out_of_range" errors with "InValid" group of added virtual fields appears among resulting errors in the debugger