Ik ben bezig met een Drupal module, kom een rare fout tegen, een tekst in een invoer veld dat geaccepteerd had moeten worden, wordt ineens niet meer geaccepteerd. Ik ga op zoek naar de oorzaak met git diff, blijkt er een preg_match te zijn gewijzigd. Kijk de diff verder door, blijken er nog een aantal lijnen gewijzigd die ik zeker niet zelf heb gewijzigd. Daarbij zijn er steeds de hoofdletters vervangen door kleine letters in tekst die ik heb gekopieerd. Ik gebruik daarvoor vim.
Ik vind het erg vreemd, ben het niet eerder tegengekomen, en kan het nu ook niet meer reproduceren. Iemand anders dit wel eens meegemaakt? Wat kan hier de oorzaak van zijn?
Zie de diff (gedeeltelijk):
if ($node->fundid) {
- if (! preg_match('/^[a-zA-Z0-9\.\- ]{4,20}$/',$node->fundid)) {
- form_set_error('fundid', t('Minimaal vier tekens. Alleen letters, cijfers, spatie, en \'.-_\' zijn toegestaan..'));
+ if (! preg_match('/^[a-za-z0-9\.\- ]{4,20}$/',$node->fundid)) {
+ form_set_error('fundid', t('minimaal vier tekens. alleen letters, cijfers, spatie, en \'.-_\' zijn toegestaan..'));
}
if (in_array($node->fundid, $fundids) && (! $node->revision)) {
- form_set_error('fundid', t('Dit id bestaat al, kies een ander id.'));
+ form_set_error('fundid', t('dit id bestaat al, kies een ander id.'));
}
}
if ($node->begin_date && $node->end_date) {
@@ -213,6 +222,11 @@ function voorinschrijving_validate($node, &$form) {
form_set_error('begin_date', t('De begindatum moet voor de einddatum liggen.'));
}
}
+ if ($node->extramessage) {
+ if (! preg_match('/^[a-za-z0-9\.\- ]{4,100}$/',$node->extramessage)) {
+ form_set_error('extramessage', t('minimaal vier tekens. alleen letters, cijfers, spatie, en \'.-_\' zijn toegestaan..'));
+ }
+ }
}