function form_builder_property_key_form_validate in Form Builder 7
Same name and namespace in other branches
- 6 includes/form_builder.properties.inc \form_builder_property_key_form_validate()
Element validate function for the "key" property. Ensure safe characters.
@todo make part of this a form method.
2 string references to 'form_builder_property_key_form_validate'
- FormBuilderWebformFormTest::testConfigurationForm in modules/
webform/ tests/ FormBuilderWebformFormTest.php - form_builder_property_key_form in includes/
form_builder.properties.inc - Configuration form for the "key" property.
File
- includes/
form_builder.properties.inc, line 40 - form_builder.properties.inc Implementations of hook_form_builder_properties in separate functions.
Code
function form_builder_property_key_form_validate($element, $form_state) {
if (!preg_match('/^[a-z0-9_]+$/', $element['#value'])) {
form_error($element, t('The form key may only contain lowercase alphanumeric characters and underscores.'));
}
// Check that the new key does not conflict with an existing key.
if ($element['#value'] != $element['#default_value']) {
// Assuming to be called from form_builder_field_configure().
list($form_type, $form_id, $element_id) = $form_state['build_info']['args'];
$form_obj = FormBuilderLoader::instance()
->fromCache($form_type, $form_id);
$parent = _form_builder_get_element_parent($form_obj, $element_id);
$new_key = $form_state['values']['key'];
if (isset($parent[$new_key])) {
form_set_error('key', t('The form key %key is already in use.', array(
'%key' => $new_key,
)));
}
}
}