无法使用依赖于动态或重复值的验证器属性找到 El 函数?
Function 'el:min' not found
#{el:min(a + b, c)}
<f:validateLongRange maximum="#{el:min(foo.bar, 10)}"/>
只是打印出该值在验证器中不起作用的地方。
最佳答案
错误信息 Function 'el:min' not found
被误导了。
问题从来不是构造,而是潜在的 NullPointerException
在嵌套属性上。
由于在一种情况下,该值取决于不同的组件选择,因此它是通过 ajax 更新的,并且默认值为 null。由于默认值为 null,因此引发了此误导性异常。
该值是一个嵌套属性,因此它没有在 el 函数中被捕获
解决方案:默认禁用验证器
<o:validator validatorId="javax.faces.LongRange" maximum="#{el:min(foo.bar, 10)}"
disabled="#{foo eq null}"/>
关于jsf - 在验证器属性中找不到 EL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14653812/