[英]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.