我熟悉在 Flutter 中使用 TextFormField 进行表单验证,但是是否可以将 DropdownButton 集成到表单中并要求在提交之前选择其值之一?
基本上,将 DropdownButton 验证集成到这个基本的 Flutter 验证示例中:
自从使用Stripes多年以来,我们的团队正在编写其第一个JSF 2.0应用程序,并且我对使用f:ajax标记和验证输入的最佳方法有一些疑问.
我见过的许多问题都有一个带有多个输入的表单,然后是一个提交按钮),但我们希望保持个别输入字段在更改后立即更新并持久保存到数据库(没有提交按钮.我们有这个工作Stripes使用Prototype的Ajax.Request很好,但如果可能的话,这是我想避免的额外步骤.
基本上我们有一个页面,其上有一堆输入,直接由bean支持,例如:
<h:inputText id="name" value="#{personController.name}" >
<f:ajax listener="#{personController.ajax}" />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
您可能知道,在调用侦听器时,bean的值已经更改.这样很方便,但我遇到了一些问题:
现在看起来我们必须实现某种javascript中间人来接受属性更改和新值,将其发送到Controller,并让它执行验证,更新数据库,发送回渲染的内容等但就像我说的那样,这就是我们以前用Stripes做的事情,我真的很喜欢使用原生的东西.
我确实看到如果我们想在页面上使用某种提交按钮,我们可以使用类似valueChangeListener属性的东西,但我也想避免大量提交.
我包含了OpenFaces标签,因为我们已经将它用于数据表,所以如果那里有一些不错的东西我们就可以使用它了.但据我所知,他们的o:ajax标签并不比JSF的f:ajax强大得多.
谢谢!
我们正在将我们的项目迁移到针对 JBoss Wildfly 的 Java EE 7。
我们有几十个@ManagedBean @javax.faces.bean.ViewScoped(旧的非 CDI ViewScoped)控制器,我们要转换成@Named @javax.faces.view.ViewScoped(新的 CDI 版本)。
我们现在在使用 Arquillian 对远程 Wildfly(每晚 beta2)服务器进行测试时遇到此异常:
org.jboss.arquillian.test.spi.ArquillianProxyException: org.jboss.weld.context.ContextNotActiveException : WELD-001303: No active contexts for scope type javax.faces.view.ViewScoped [Proxied because : Original exception not deserilizable, ClassNotFoundException]
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:680)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
at controller.ViewScopedEE7Controller$Proxy$_$$_WeldClientProxy.getNumber(Unknown Source)
at controller.ViewScopedEE7ControllerTest.test(ViewScopedEE7ControllerTest.java:47)
Run Code Online (Sandbox Code Playgroud)
有几件事对我来说很突出:
No active contexts for scope type javax.faces.view.ViewScoped
Run Code Online (Sandbox Code Playgroud)
和
[Proxied because : Original exception not deserilizable, ClassNotFoundException]
Run Code Online (Sandbox Code Playgroud)
我有点理解第一部分,虽然这对我们使用旧的非 CDI ViewScoped 来说从来都不是问题,但我不明白第二部分,找不到什么类?或者这是一个红鲱鱼?
这是一个完整的工作示例:
ViewScopedEE7Controller.java
package controller;
import javax.faces.view.ViewScoped; …Run Code Online (Sandbox Code Playgroud) 编写我的第一个 Flutter 应用程序,我们需要使用PaginatedDataTable. 文档说该source领域应该
通常比 PaginatedDataTable 小部件本身具有更长的生命周期;每次调用 PaginatedDataTable 构造函数时都应该重用它。
https://docs.flutter.io/flutter/material/PaginatedDataTable/source.html
管理这种情况的最佳方法是什么?有共同的模式吗?我最初的想法是单例模式,但我来自 Java 世界,所以我不确定这是否正确。
你也可以解释为什么在DataTableSource应该被重复使用?谢谢。
登录到我们的Flutter应用程序后,将打开一个仪表板,该仪表板具有一个带有抽屉的,装有菜单项的支架。
我想通过在页面加载时打开抽屉或至少使在加载时立即打开抽屉的动画来执行一些A / B测试。
我知道,Scaffold.of(context).openDrawer()但不确定将代码放置在哪里,以便它在build()方法之后立即运行。我也不知道在抽屉或脚手架上会在打开抽屉时加载的任何字段。
感谢您的时间和帮助。