我们目前正在尝试实现一个非关键验证层,该层根据某些验证器检查字段输入,而不将表单标记为";"无效";,而是作为";不符合规格";以便我们可以向用户突出显示字段。特别地,我们讨论的是具有上下边界的数字范围,其应当将输入字段突出显示为某种"数字";不符合规格";警告输入本身被认为是有效的;不合规格";而用户应该仍然能够保存数据。
这里有一个例子:
- 允许输入任何整数(验证(,输入规范为90到100之间的整数(规范(
- 输入";abc"->错误的输入类型->错误消息,不允许保存
- 输入";95.1234"->错误的输入类型->错误消息,不允许保存
- 输入";85〃->输入类型正确,输入有效,但超出规范->警告消息,仍允许保存
- 输入";95〃->正确的输入类型,有效的输入,符合规范->允许保存
这意味着正常的活页夹验证应该仍然阻止保存,而额外的非关键验证应该只是突出显示它,而不是阻止它。
我们目前在vaadin版本14中使用vaadin粘合剂,并使用转换器和验证器的功能。是否有可能将我们的层添加到vaadin粘合剂中,使其与我们目前的使用情况保持一致?或者,除了正常的vaadin粘合剂使用之外,我们还必须建立自己的非关键验证层吗?在理想的情况下,我们会在转换和验证阶段后将其固定:
- 字段输入
- 类型转换
- 关键验证
- 非关键验证
- 输入保存
我希望我的描述足够了。如果有任何问题,请告诉我,我会尽量详细描述一下。提前谢谢。
这可能是由于自流程14.7以来提供了自定义BinderValidationErrorHandler的错误类型不是ErrorLevel.ERROR。
请参阅介绍它的PR并举例说明https://github.com/vaadin/flow/pull/11384#issuecomment-879309037