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
This commit is contained in:
alex 1995-01-12 18:40:10 +00:00
parent 713cffa6ff
commit 4a3fda6075
2 changed files with 30 additions and 3 deletions

View File

@ -87,6 +87,7 @@
#define FILENAME_FUNC 18 0 #define FILENAME_FUNC 18 0
#define ZEROFILL_FUNC 19 1 #define ZEROFILL_FUNC 19 1
#define ALPHA_FUNC 20 0 #define ALPHA_FUNC 20 0
#define NOT_EMPTY_CHECK_FIELD 21 0
#define VALEXPR VALIDATE EXPR_FUNC #define VALEXPR VALIDATE EXPR_FUNC
#define NUM_EXPR VALEXPR 0 #define NUM_EXPR VALEXPR 0

View File

@ -7,6 +7,7 @@
#include <mask.h> #include <mask.h>
#include <utility.h> #include <utility.h>
#include <validate.h> #include <validate.h>
#include <defmask.h>
#include <nditte.h> #include <nditte.h>
@ -563,8 +564,17 @@ HIDDEN bool _chkfld_val(TEdit_field& f, KEY k)
if (f.to_check(k)) if (f.to_check(k))
{ {
const int fldid = atoi(get_val_param(0)); 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()); chkfld.set(f.get());
return chkfld.check(); return chkfld.check();
} }
@ -604,8 +614,23 @@ HIDDEN bool _alpha_val(TEdit_field& f, KEY k)
return TRUE; 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] = HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] =
{ {
@ -629,7 +654,8 @@ HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] =
_chkfld_val, _chkfld_val,
_filename_val, _filename_val,
_zerofill_val, _zerofill_val,
_alpha_val _alpha_val,
_not_empty_chkfld_val
}; };
bool validate(int fn, TEdit_field& f, KEY k, const TArray& parms) bool validate(int fn, TEdit_field& f, KEY k, const TArray& parms)