我在所选日期更改了颜色
现在我想禁用一天。它不应该是可点击的。
目前日期的启用/禁用依赖于它的 css 类,您可以在客户端添加 Datebox.getZclass()+'-disd' 来禁用它,请参考 zkfiddle 的示例:
这样您可以保存一些 au 请求,但仍需要通过 java API 为设置日期正确添加服务器端验证。
不幸的是,日期框约束基于SimpleDateConstraint
它仅支持日期范围:您不能以这种方式涂黑特定日期。
我相信这样做的正确方法不是使日期在 UI 中无法选择,而是在选择日期时忽略它。将此与您已经完成的视觉上涂黑日期相结合,您将获得您正在寻找的效果。
要在 Java 端执行此操作,您可以实现自定义ClientConstraint
. 这实际上将验证您在 JavaScript 中的输入值,而不是普通的 server-side Constraint
。
当然,您可以深入研究Datebox JavaScript 小部件本身,但我倾向于尽可能避免使用这种方法。实际上,您会看到该datebox.validate_
功能通过集成上述ClientConstraint
.