## change system code
# in the u:OnBeforeItemCreate, after $object variable is initialized, add lines:
- $object->SetDBField('FirstName', array(1,2,3));
- $object->SetDBField('MaxValueInc0Valid', 0);
- $object->SetDBField('MinValueInc0Valid', 0);
- $object->SetDBField('MaxValueExc0Valid', -5);
- $object->SetDBField('MinValueExc0Valid', 5);
- $object->SetDBField('MaxLen2Valid', '1');
- $object->SetDBField('MinLen2Valid', '22');
- $object->SetDBField('MaxValueInc0InValid', 5);
- $object->SetDBField('MinValueInc0InValid', -5);
- $object->SetDBField('MaxValueExc0InValid', 0);
- $object->SetDBField('MinValueExc0InValid', 0);
- $object->SetDBField('MaxLen2InValid', '333');
- $object->SetDBField('MinLen2InValid', '1');
# 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