Vaadin-flow 非关键验证仍然 returns isValid=true

Vaadin-flow non-critical validation that still returns isValid=true

我们目前正在尝试实现一个非关键验证层,该层根据某些验证器检查字段输入,而不是将表单标记为“无效”,而是标记为“不符合规范”,以便我们可以突出显示要显示的字段用户。特别是,我们正在讨论具有下限和上限的数字范围,这些范围应将输入字段突出显示为某种“超出规范”警告。输入本身被认为是有效的但“不符合规范”,而用户仍然应该能够保存数据。

这是一个例子:

这意味着正常的活页夹验证应该仍然阻止保存,而额外的非关键验证应该只是突出显示它,而不是阻止它。

我们目前正在使用 vaadin 版本 14 中的 vaadin 绑定器,并且正在使用转换器和验证器的功能。是否有可能将我们的层添加到 vaadin 绑定器,以便它在我们当前的使用中流畅地执行?或者我们是否必须在正常的 vaadin 活页夹使用之外构建我们自己的非关键验证层?在理想情况下,我们会在转换和验证阶段后固定它:

  1. 字段输入
  2. 类型转换
  3. 关键验证
  4. 非关键验证
  5. 输入节省

希望我的描述足够了。如果有任何问题,请告诉我,我会尽量描述得更详细一些。提前致谢。

对于非 ErrorLevel.ERROR 类型的错误,自定义 BinderValidationErrorHandler 自 flow 14.7 以来可用。

查看介绍它的 PR 示例 https://github.com/vaadin/flow/pull/11384#issuecomment-879309037