Logic ideas - 5 levels.

Derek Atkins warlord at MIT.EDU
Thu Sep 22 13:49:56 EDT 2005


Neil Williams <linux at codehelp.co.uk> writes:

> On Saturday 17 September 2005 11:47 pm, Josh Sled wrote:
>
> (oops, this is a really long one!)
> :-)
>
>> Data-type constraints are 
>> generally above-and-beyond those provided by programming languages, such
>> as "positive integer", "bounded integer", "length-limited string",
>> "patterned string", &c.
>
> (This will be easier once the gnc-backend-file is replaced - some of these 
> bounds can be set in the XML if schemas are used properly. QSF does this to 
> ensure that all GUID strings are true hexadecimals and integer fields do not 
> contain string characters. That provides an entry-point validation at the XML 
> level.)

I don't see how that helps at all.  The validation we're talking about is
USER INPUT validation, not datafile validation.  Sure, XML can be used
to validate the datafile, or QSF.  But that's not the real issue..  That's
not where most of the code is.

The code we need, what's most of the codebase, is validating the
input from the user.  For example, the user is typing into the
new-account dialog, and we need to make sure that they supply a name,
and that the commodity type is valid for the account type, and
lots of other types of validation.

It would be NICE to be able to abstract that validation, but there's
still the "pull from widgets and validate against some per-dialog or
per-object logic"..  And that code is relatively hard to abstract.

I think you've lost the picture of what needs to be done in your list,
(which I've snipped away here)...  You don't talk about user input
validation at all, which is IMHO the most important place to validate
input.

-derek
-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list