【发布时间】:2020-07-16 17:48:12
【问题描述】:
使用 Vaadin 14.1.23 TextFields 我想在视觉上区分红色错误消息(例如“此值太大。”)和黄色警告(例如“系统会将您的输入四舍五入到小数点后两位。”)。还可以选择蓝色信息消息。
因此,我创建了一个带有验证器的 TextField,如本例 (https://vaadin.com/components/vaadin-text-field/java-examples/validation):当您在标签为“最少 2 个字符”的字段中键入“1”时,该字段变为红色并显示错误:“最少 2字符”。
如何显示这样的(黄色)警告消息?
我尝试的是这样的: 在我的验证器的 apply 方法中,我创建了一个带有 ErrorLevel WARNING 的验证结果,如下所示:
ValidationResult.create("System will round the decimals.", ErrorLevel.WARNING);
但是 Vaadin 仍然生成了一个带有 part="error-message" 的 div:
<div part="error-message" aria-live="assertive" aria-hidden="false" id="my-field-error-44">System will round your input to two decimals.</div>
【问题讨论】:
-
看这里:github.com/vaadin/vaadin-text-field/blob/… 和这里:github.com/vaadin/vaadin-text-field-flow/blob/… 我必须假设这是一个功能请求。至少应该改进文档。我建议创建一个带有额外 Span 的自定义组件,您现在可以使用它来显示警告。
-
我猜你是对的。我现在的解决方法是一个包含错误、警告和信息消息列表的网格。类似于 Eclipse 中的“问题”视图。这不是普遍可用的,但对于我的用例来说没问题。
标签: vaadin vaadin-flow vaadin10