簡體   English   中英

如何為特定方案禁用CustomValidator

[英]How to disable CustomValidator for a specific scenario

我有一個使用CustomValidator來檢查非空字段的表單,每當我們嘗試添加記錄(PARAMETER, VALUE)我都在尋找一種方法來在嘗試刪除時禁用表單驗證(用戶可以刪除一個空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 ”設置為true,並以此方式使用它:

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保持為false,鑒於驗證后顯示的錯誤,我們無法刪除空記錄;

關於如何僅在刪除場景中通過此驗證步驟的任何想法嗎?

刪除記錄之前,請調用discardEdits(rowNum)

SmartClient論壇上也會問同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM