diff --git a/include/maskfld.cpp b/include/maskfld.cpp index 93f3ff03d..2d49b841b 100755 --- a/include/maskfld.cpp +++ b/include/maskfld.cpp @@ -1808,10 +1808,17 @@ bool TBrowse::check(CheckTime t) do_output(t); } else - { - do_clear(); - if (!_fld->mask().query_mode() && _fld->check_enabled()) - _fld->set_dirty(3); + { + if (t == CHECK_SEARCH) + { + passed = TRUE; + } + else + { + do_clear(); + if (!_fld->mask().query_mode() && _fld->check_enabled()) + _fld->set_dirty(3); + } } } } @@ -1910,9 +1917,10 @@ bool TEdit_field::parse_item(TScanner& scanner) if (scanner.key() == "CH") { scanner.pop(); - if (scanner.key() == "NO") _check = CHECK_NORMAL; - else if (scanner.key() == "RE") _check = CHECK_REQUIRED; - else if (scanner.key() == "FO") {_check = CHECK_REQUIRED; _forced = TRUE;} + if (scanner.key() == "NO") _check = CHECK_NORMAL; else + if (scanner.key() == "RE") _check = CHECK_REQUIRED; else + if (scanner.key() == "FO") { _check = CHECK_REQUIRED; _forced = TRUE; } else + if (scanner.key() == "SE") _check = CHECK_SEARCH; else _check = CHECK_NONE; return TRUE; } diff --git a/include/maskfld.h b/include/maskfld.h index bb12e879d..e794b7b05 100755 --- a/include/maskfld.h +++ b/include/maskfld.h @@ -29,7 +29,9 @@ typedef bool (*CONTROL_HANDLER)(TMask_field& field, KEY key); enum CheckType { CHECK_NONE, // @emem Nessun controllo CHECK_NORMAL, // @emem Controllo normale (non e' un campo obbligatorio) - CHECK_REQUIRED }; // @emem Controlla se il campo non e' vuoto e fa un check normale + CHECK_REQUIRED, // @emem Controlla se il campo non e' vuoto e fa un check normale + CHECK_SEARCH // @emem Controlla se il campo c'e' ma non da' nessuna segnalazione se e' errato +}; // @enum Momento di richiesta del check enum CheckTime {