【问题标题】:JSF Dropdowns - Enforce non-defautl value for validationJSF Dropdowns - 强制使用非默认值进行验证
【发布时间】:2010-11-01 18:52:02
【问题描述】:

我们的 JSF 下拉菜单使用默认值“Select One..”,但我们不希望我们的 JSF 验证器在保存时接受此值作为可接受的值。

所以超越/或代替Required="true",有什么办法可以做到这一点?

示例值:

"select one.."
"cat"
"dog"

只有“猫”或“狗”才能通过验证。

【问题讨论】:

  • 你为什么不想使用required="true"?这实际上是唯一有效的解决方案。如果它实际上是困扰您的默认消息,那么知道有一些方法可以自定义它可能会很好。
  • 嘿巴鲁斯。我们使用 required =“true”,问题是当用户保存“select one”值时我们没有收到消息。我们正在尝试用一个附加条件来扩充它,即“这个“XX”的值是不可接受的”如果我将值(未显示)设置为空字符串,那会导致所需的验证失败吗?

标签: validation jsf drop-down-menu jsf-2 required


【解决方案1】:

您似乎已将“选择一个...”设置为 标签和值。为了触发需求验证器,值必须是null。您需要将“选择一个...”设置为 label 并将 null 设置为 value

所以在视图中:

<f:selectItem itemValue="null" itemLabel="Select one..." />

或在模型中:

new SelectItem(null, "Select one...");

【讨论】:

  • 完美。因此,对于我之前的评论,它必须为 null,而不是 "" 验证失败? 似乎空字符串应该与 null 字符串一样合理。
  • yEP,值的字符串 "" 也将无法通过验证。太棒了。
猜你喜欢
  • 2015-11-16
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 2013-10-11
  • 2014-07-06
  • 2013-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多