问题标签 [deform]

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 投票
2 回答
1013 浏览

python - 有没有一种简单的方法可以在 Deform 中将表单转换为模型,就像在带有 bind(model) 的 pyramid_simpleform 中一样?

pyramid_simpleform说您可以使用 bind(model)轻松地将表单的值转换为模型的值:

(以下来自pyramid_simpleform文档)

我在变形文档中的任何地方都找不到等效的方法......或者有没有办法用变形来做到这一点?

0 投票
2 回答
2332 浏览

python - 可以访问所有节点的变形/滤锅验证器?

如何在 Deform/Colander 中定义一个自定义验证器,该验证器可以访问所有节点值。我需要访问两个字段中的值以确定特定值是否有效?

0 投票
1 回答
337 浏览

python - 使用 Deform 在 HTML 控件中报告表单后处理错误消息

Deform允许在表单的不同字段上添加验证。但是,它会检查表单本身是否有效,但这并不一定意味着表单处理将是有效的。

例如,如果表单用于创建具有电子邮件地址的新用户。表单是有效的,但是表单处理(包括在数据库中插入这个新用户)会引发一个数据库完整性错误,说明已经有一个用户使用这个电子邮件地址。

我知道我可以添加一个特殊的验证器来检查电子邮件是否尚未使用,但仍然可能存在另一个并发事务,在检查和第一个事务的提交之间提交相同的电子邮件,这不是 100% 安全的结尾。

那么,我怎样才能很好地向用户报告表单后处理错误呢?

我可以轻松地报告表单旁边的错误消息(闪存消息或其他),但我想知道是否有一种方法可以直接在小部件中报告错误,就像处理正常的验证错误一样。

0 投票
1 回答
449 浏览

sqlalchemy - 如何以 NICE 方式从外键和枚举列填充变形选择小部件

我一直在与变形、sqlalchemy 和 colanderalchemy 搏斗一段时间,但在填充选择框时遇到了一些麻烦。

问题 1

有一个更好的方法吗:

问题2:

这个怎么样:

0 投票
1 回答
267 浏览

sqlalchemy - 使用 Coland 和 SQLAlchemy 制作唯一的验证器

我想做的只是使用 Pyramid、SQLAlchemy 的简单博客网站。我选择的表单模块是使用 Coland 的 Deform。所以现在我的表单中有两个字段:nameurl。Url 通过音译创建名称字段,但没关系。所以我不想有两篇具有相同网址的文章。我认为我需要以某种方式使用 Colland 制作验证器。但问题是验证器按字段执行,而不是按模型记录执行。我的意思是,如果我要为url字段制作验证器,我的方法中没有关于其他字段的信息,例如idname,所以我无法执行验证。

现在我有几个我创建了两个小时的字符串=)

实际上,我认为我应该在模型级别执行此类验证,即在 SQLAlchemy 模型中,但当然其他规则不起作用,因为此类规则主要用于制作 SQL 脚本(CREATE TABLE):

0 投票
1 回答
616 浏览

python - 如何自定义变形表格?

当我使用默认的变形表格时。这不是我需要的。

如何定制呢?

例如,我需要这个:

其中 [ _ _] 表示正常的 html 输入。

应该重写模板吗?

0 投票
2 回答
2206 浏览

forms - 哪一种是表单验证的正确方法?Colander 的 Schema 验证还是 Deform 的表单验证?

我刚刚开始在我的一个项目中使用Pyramid,我有一个案例,我需要验证表单字段输入,方法是获取该表单字段值并进行 Web 服务调用以断言该值的正确性。例如,有一个字段称为您银行的 CUSTOMER-ID。我需要将其(单独)作为输入,并通过进行 Web 服务调用(例如http://someotherdomain/validate_customer_id/?customer_id=<input_value>)在服务器级别进行验证让我们说。

我正在使用滤锅进行表单架构管理,并使用Deform进行所有表单验证逻辑。我很困惑我需要在哪里放置 CUSTOMER-ID 案例的验证逻辑。是在(它有一个查询网络服务的延迟验证器)还是在 form.validate(request.POST.items()) ?如果我采用延迟验证器的路径,则会因不正确的 CUSTOMER-ID引发错误。没关系。但是该错误不在表单级别,而是在架构级别。那么我该如何以理智的方式告诉用户呢?MySchema().bind(customer_id=<input_value>)MySchema().bindcolander.Invalid

我对 Django 表单有很好的经验,所以我期待类似clean方法的东西。像 form['customer_id'].error 这样的表单错误是我在模板级别所期望的。Pyramid's Deform 或 Colander 有可能吗?

0 投票
1 回答
121 浏览

pyramid - 变形默认值无法按预期与 Class 一起工作

我正在使用带有金字塔的变形表单插件。

我首先,有我的模型:

现在在我看来,我有变形代码,这可以很好地添加新条目。

现在这会正确生成我的 html,并且选择框可以完美呈现。

但是,当我使用默认选项时,例如:

呈现的 html 没有添加

到我的默认输入框(或任何选项,即使我硬编码,用应该是默认选择的值替换变量名)。

0 投票
1 回答
625 浏览

python - 变形字段间验证不突出显示字段

我遵循了这个例子,但我对其进行了一些修改以适合我的项目

这就是我所拥有的:


验证工作得很好。它只是不想突出显示元素。

当我更换:

它确实突出显示,但它突出显示表单上的第一个元素,即first_name,这也是错误的。

我觉得我错过了一些小东西。

更新

所以我玩了一点,当我这样做时:

我在正确的字段上方收到一个警报消息框(不是 js 警报):

我得到的图像

而不是这个,我需要在上面的例子中突出显示该字段。

0 投票
1 回答
156 浏览

python - 如何使用变形获得金字塔中整数的长度

这可能是一个愚蠢的问题,但我如何使用变形获得数字的长度?

我有以下内容:

我虽然那

会这样做,但这只会设置minimum值。

我认为range()会起作用,因为 python 方法会返回一个包含例如 13 个条目的列表。显然我错了。

有没有办法让我使用金字塔变形来获得整数的长度?