1 form.test | public FormValidationTestCase::testCustomRequiredMessage() |
Tests #required with custom validation errors.
See also
form_test_validate_required_form()
File
- core/
modules/ simpletest/ tests/ form.test, line 885 - Unit tests for the Backdrop Form API.
Class
- FormValidationTestCase
- Test form validation handlers.
Code
public function testCustomRequiredMessage() {
$form = $form_state = array();
$form = form_test_validate_required_form($form, $form_state);
// Verify that a custom #required error can be set.
$edit = array();
$this->backdropPost('form-test/validate-required', $edit, 'Submit');
foreach (element_children($form) as $key) {
if (isset($form[$key]['#required_message'])) {
$this->assertNoText(t('!name field is required.', array('!name' => $form[$key]['#title'])));
$this->assertText($form[$key]['#required_message']);
}
elseif (isset($form[$key]['#form_test_expected_message'])) {
$this->assertText($form[$key]['#form_test_expected_message']);
}
}
$this->assertNoText(t('An illegal choice has been detected. Please contact the site administrator.'));
// Verify that no custom validation error appears with valid values.
$edit = array(
'textfield' => $this->randomString(),
'checkboxes[foo]' => TRUE,
'select' => 'foo',
'radios' => 'foo',
);
$this->backdropPost('form-test/validate-required', $edit, 'Submit');
foreach (element_children($form) as $key) {
if (isset($form[$key]['#required_message'])) {
$this->assertNoText($form[$key]['#required_message']);
}
elseif (isset($form[$key]['#form_test_expected_message'])) {
$this->assertNoText($form[$key]['#form_test_expected_message']);
}
}
$this->assertNoText(t('An illegal choice has been detected. Please contact the site administrator.'));
}