【问题标题】:How to disable CustomValidator for a specific scenario如何为特定场景禁用 CustomValidator
【发布时间】:2014-04-22 18:02:04
【问题描述】:

每当我们尝试添加记录(PARAMETER, VALUE) 时,我都有一个使用 CustomValidator 来检查非空字段的表单 我正在寻找一种在尝试删除时禁用表单验证的方法(如果用户改变主意并且不需要添加更多内容,用户可以删除一个空的 listGridRecord)。

我正在使用这个自定义验证器:

    CustomValidator validatorParameter = new CustomValidator() {

        @Override
        protected boolean condition(Object value) {

            parameterName = (String) value;
            if ((value == null || ((String) value).trim().isEmpty())) {
                rowIsValidate = false;
                return false;
            } else {
                rowIsValidate = true;
                return true;
            }
        }
    };

我以这种方式在init() 方法中设置:

parametersListGrid.getField(PARAMETER).setValidators(validatorParameter);

每当我检测到单击删除按钮并以这种方式使用它时,我都会尝试将标志“noValidation”设置为真:

CustomValidator validatorParameter = new CustomValidator() {

        @Override
        protected boolean condition(Object value) {

            parameterName = (String) value;
            if (((value == null || ((String) value).trim().isEmpty())) && !noValidation){
                rowIsValidate = false;
                return false;
            } else {
                rowIsValidate = true;
                return true;
            }
        }
    };

但我发现这个标志是在验证发生后设置的,所以 rowIsValidate 保持为假,鉴于验证后显示的错误,我们无法删除空记录;

关于如何在删除场景中通过此验证步骤的任何想法?

【问题讨论】:

    标签: java validation gwt smartgwt


    【解决方案1】:

    删除记录前请致电discardEdits(rowNum)

    SmartClient Forums 上提出了同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 2023-03-12
      • 2017-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多