Значение отсутствует в именах полей формы в ColdFusion - PullRequest
10 голосов
/ 26 февраля 2009

Я, должно быть, схожу с ума.

<cfif cgi.request_method eq "POST">
    <cfoutput>
        Form.fieldnames = #form.fieldnames#<br>
        structKeyList(form) = #structKeyList(form)#
    </cfoutput>
</cfif>

<form  method="post" accept-charset="utf-8">

    <input type="text" name="graduation_date" value="x"><br>
    <input type="text" name="foo" value="y"><br>
    <input type="text" name="bar" value="z"><br>

    <input type="submit" value="Submit Form" >

</form>

Переменная form.fieldnames должна содержать список отправленных полей: foo, bar и graduation_date. Но graduation_date отсутствует.

После небольшого тестирования я вижу, что все, что заканчивается _date, исключено из form.fieldnames.

Я собирался спросить, что не так с моим кодом, но теперь я почти уверен, что это ошибка в ColdFusion. (Я использую ColdFusion 8.0.1 / OS X 10.5.6.)

Это ошибка в ColdFusion, верно?

Ответы [ 2 ]

15 голосов
/ 26 февраля 2009

Может быть, это пользовательская функция проверки (она же «Проверка данных формы с использованием скрытых полей»)?

По сути, используя некоторые специально отформатированные поля формы (field_required, field_date, field_integer и т. Д.), Вы можете выполнять проверку ваших форм на стороне сервера.

Это восходит к нескольким версиям ColdFusion, когда CFFORM был не очень надежным, и вам не нужно было писать код проверки для каждого поля формы. Есть лучшие способы сделать это сейчас, но он все еще там для обратной совместимости.

0 голосов
/ 12 марта 2010

Да, я столкнулся с этой маленькой проблемой и с ColdFusion 8. Я был практически готов к летному тестированию моего сервера, пытаясь выяснить, почему текстовое поле с именем "asof_date" не обрабатывается и не отображается в поле FIELDNAMES. в моих опубликованных данных (что объясняет, почему это было проигнорировано). Я называю это ошибкой с точки зрения ортогональности. Как только я изменил название на "pub_asof", все заработало нормально. Argh !!

...