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:
parent
713cffa6ff
commit
4a3fda6075
@ -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
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <mask.h>
|
||||
#include <utility.h>
|
||||
#include <validate.h>
|
||||
#include <defmask.h>
|
||||
|
||||
#include <nditte.h>
|
||||
|
||||
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user