必需字段的JSF验证



假设我们有一个表单,其中一些字段是必需的而一些不是(可选)。
当我们说字段是必需的验证器只会验证,但不会先修剪的输入,然后验证。

为了解决这个问题,我写了一个javascript函数叫做on form submit。但它也将验证可选字段。

将转换器添加到所有输入字段并不美观。
此外,他们的任何方式都可以覆盖所需的验证过程。
或者我如何识别javascript中的可选输入字段。

那么怎么做才是正确的呢?

使用JSF 1.2

如果您在<converter-for-class>而不是<converter-id>上注册转换器,那么它将应用于所有值类型。

<converter>
    <converter-for-class>java.lang.String</converter-for-class>
    <converter-class>com.example.EmptyToNullConverter</converter-class>
</converter>

public class EmptyToNullConverter implements Converter {
    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
        if (value == null || value.trim().length() == 0) {
            if (component instanceof EditableValueHolder) {
                ((EditableValueHolder) component).setSubmittedValue(null);
            }
            return null;
        }
        return value;
    }
    @Override
    public String getAsString(FacesContext facesContext, UIComponent component, Object value) {
        return value == null ? null : value.toString();
    }
}

无需在每个组件上注册

相关内容

  • 没有找到相关文章

最新更新