From 4a3fda6075141841a8cafdc653fde30e126867ea Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 12 Jan 1995 18:40:10 +0000 Subject: [PATCH] Aggiunto validate per controllare campi vuoti ma con input parzialmente riempito git-svn-id: svn://10.65.10.50/trunk@865 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/defmask.h | 1 + include/validate.cpp | 32 +++++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/include/defmask.h b/include/defmask.h index 6b57f6d9b..3ba67c80b 100755 --- a/include/defmask.h +++ b/include/defmask.h @@ -87,6 +87,7 @@ #define FILENAME_FUNC 18 0 #define ZEROFILL_FUNC 19 1 #define ALPHA_FUNC 20 0 +#define NOT_EMPTY_CHECK_FIELD 21 0 #define VALEXPR VALIDATE EXPR_FUNC #define NUM_EXPR VALEXPR 0 diff --git a/include/validate.cpp b/include/validate.cpp index f82639a64..21088ce1a 100755 --- a/include/validate.cpp +++ b/include/validate.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -563,8 +564,17 @@ HIDDEN bool _chkfld_val(TEdit_field& f, KEY k) if (f.to_check(k)) { const int fldid = atoi(get_val_param(0)); - TMask_field & chkfld = f.mask().field(fldid); + + if (fldid == THIS_FIELD) + { + if (!f.required() && f.get().empty()) + return TRUE; + else + return f.check(); + } + TMask_field & chkfld = f.mask().field(fldid); + chkfld.set(f.get()); return chkfld.check(); } @@ -604,8 +614,23 @@ HIDDEN bool _alpha_val(TEdit_field& f, KEY k) return TRUE; } +HIDDEN bool _not_empty_chkfld_val(TEdit_field& f, KEY k) +{ + if (!f.to_check(k) || f.get().empty()) + return TRUE; + else + { + const CheckType c = f.check_type(); -#define MAX_FUNC 21 + f.check_type(CHECK_NORMAL); + const bool ok = f.check(); + f.check_type(c); + return ok; + } +} + + +#define MAX_FUNC 22 HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] = { @@ -629,7 +654,8 @@ HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] = _chkfld_val, _filename_val, _zerofill_val, - _alpha_val + _alpha_val, + _not_empty_chkfld_val }; bool validate(int fn, TEdit_field& f, KEY k, const TArray& parms)