问题标签 [digestive-functors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
615 浏览

haskell - 带有消化功能的复选框列表

如何使用消化函子创建一个表单,该表单具有以编程方式生成的复选框列表,该列表将返回一个列表。例如:

会回来["Milk", "Ground meat"]的。

我期待的类型会是这样的:

0 投票
1 回答
214 浏览

haskell - 具有消化功能的元素

Digestive-functors-blaze 创建 html like <input type="text" id="foo" name="foo" /><label for="foo">Bar</label>,但我没有找到任何标准方法,例如添加<br />到末尾。

我想出了这个:

我可以将它附加<++到我期望的位置,但我想知道这是否是预期的方式?

此外,这将如何扩展例如字段集。

0 投票
1 回答
120 浏览

haskell - 禁用窗体/消化函子中的字段?

使用 formlets/digestive-functors,我试图弄清楚如何在运行时选择性地禁用字段。禁用字段将禁用该字段的显示和验证。

人为的示例:假设我们的基本表单数据类型如下所示:

deptId仅当用户是员工时才应显示该company字段,否则应显示该字段。agree如果用户尚未单击“同意”框,则应显示该字段。

我不想为每个可能的变体创建不同的表单类型:(favcolor,deptId,agree),(favcolor,deptId),(favcolor,company,agree),(favcolor,company)。我还可以做些什么?

0 投票
1 回答
315 浏览

haskell - 跨多个字段的验证

我正在尝试了解应用程序表单,并且一直想知道如何实现一个表单来验证依赖于其他字段的字段。例如具有passwordconfirm_password字段的注册表单,我想验证它password == confirm_password

我可以在表单运行后在处理程序中完成,但这意味着丢失错误消息。

编辑:忘了提,我主要使用 Yesods 应用形式,但它们似乎非常接近消化功能

0 投票
2 回答
685 浏览

haskell - Digestive Functors with a variable number of subforms (Snap/Heist)

I'm working on porting a site from PHP to Snap w/ Heist. I've ported some of the simpler forms to using Digestive Functors successfully, but now I have to do the tricky ones that require the use of subforms.

This application manages producing flyers for retail stores, so one of the tasks that need to be done is adding an ad size and defining its physical dimensions on the printed flyer. Sizes will vary depending on the type of page (configurable by the flyer owner) and its orientation (which can only be controlled by the administrators).

what the form looks like in the PHP version

This form is guaranteed to have a minimum of 3 cells, most likely going to have 9 cells (as pictured above from the PHP version), but could theoretically have an unlimited number.

Here's what I've got so far for the dimensions subform:

The form definition doesn't feel quite right (maybe I have completely the wrong idea here?). AdDimensions.dimensions should be a Maybe String, since it will be null when coming back from the database when running the query to get a list of all of the possible combinations of size_id/layout_id for a new ad size, but it will be not null from a similar query that will be run when creating the edit form. The field itself is required (ad_dimensions.dimensions is set to not null in the database).

From here, I have no idea where to go to tell the parent form that it has a list of subforms or how I might render them using Heist.

0 投票
1 回答
329 浏览

haskell - 从数据库中检索消化函子的选择列表(Snap/Heist)

我有一个处理添加和编辑的地址表单(如果添加什么都没有,如果编辑只是地址)。到目前为止,我已经用少数项目硬编码了州和国家/地区的选择。

现在我想从数据库中检索州和国家的列表。我可以将州/国家/地区列表传递给表单,就像我已经在处理地址列表一样,但此表单也是 3 或 4 个其他表单(新广告客户表单、新客户表单等)的子表单而且我不需要表格之外的州/国家/地区列表,就像我使用地址列表一样。

这是我刚刚添加的用于获取国家/地区信息的新表单:

这是调用它的处理程序:

我得到的错误是这样的:

0 投票
1 回答
479 浏览

haskell - Snap 框架:使用消化函子编译拼接和处理表格

我试图了解编译的拼接以及如何将它们与消化函子形式一起使用。有人有任何代码示例吗?

0 投票
1 回答
111 浏览

haskell - 在发送到 stringRead 之前修改表单提交数据

我有一个消化函子形式,如下所示:

我用于此表单的输入元素是<input type="date" /><input type="time" />。这对于此表单的日期部分非常有效,但在时间部分则效果不佳。支持时间输入元素的浏览器只提交小时和分钟(例如“18:00”),但 TimeOfDay 需要小时、分钟秒。这会导致 stringRead 失败,并且 Digestive Functors 向用户报告错误(“必须是有效时间”)。

我尝试像这样解决这个问题,但如果用户提交的时间无效,他们将不再从 Digestive Functors 获得有吸引力的错误(Prelude.read: no parse)。

0 投票
2 回答
110 浏览

haskell - 如何解决消化函子代码中的“HTTP 请求失败:何时不是字段”运行时错误?

我有一个简单且不完整的 Happstack 应用程序,它包含一个消化函子形式,定义如下:

其视图定义如下:

提醒定义如下:

当我浏览到表单 (/setrec) 的路径时,我得到一个空白页,控制台上打印了以下错误消息:

我发现该错误消息的定义位置(在https://github.com/jaspervdj/digestive-functors/blob/7e50d5686abc4b39389ed195693660d758987c7c/digestive-functors/src/Text/Digestive/Form/Internal.hs中)但我可以从那里看不到为什么找不到“何时”字段。

这里有什么问题?

如何调试此类问题?

这是github上整个代码的链接,以防您需要更深入地查看代码:

https://github.com/nmbooker/recremind

0 投票
0 回答
186 浏览

haskell - 消化函子:多个文件上传字段?

我正在尝试重新创建相当标准的图像/文件上传功能,其中给定字段允许上传一个或多个文件/图像,例如“添加另一个文件”按钮和/或替换现有文件的能力。

我有文件上传工作,我有多个子表单工作,但我无法让多个子表单处理文件输入。

我基于示例/dynamic-list.hs创建了一个示例(如下所示),该示例突出显示了该问题,这似乎是 postForm 在视图中返回了适当的 FilePath 但未在“结果”中返回它。

dynamic-list.hs 的另一个问题是它只显示了一个使用静态数据的简单用例。拥有一个实际的动态表单,其中数据响应用户输入而发生变化要复杂得多,所以我希望我可以敲出一个更全面的 dynamic-list.hs 版本,这对初学者会有(更多)帮助。

到目前为止我的代码: