[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Input-sequence editor testing

From: Greg Chicares
Subject: Re: [lmi] Input-sequence editor testing
Date: Fri, 16 Jul 2010 19:36:33 +0000
User-agent: Thunderbird (Windows/20100228)

On 2010-07-11 17:13Z, Vaclav Slavik wrote:
> On Sun, 2010-07-04 at 22:01 +0000, Greg Chicares wrote:
>> but then it refuses to edit that string. It seems that validation
>> upon entering the pop-up is stricter than that performed when
>> leaving it. 
> It doesn't validate the entry under the -- wrong -- assumption that this
> editor won't let you enter invalid data. I can see two fixes to this:
> (1) Don't allow invalid input. We could replace the numeric duration
>     field with wxSpinCtrl with restricted range. This isn't entirely
>     trivial, because a change in one row affects valid ranges in all
>     subsequent rows as well as the preceding one. This can be extremely
>     annoying to the user if not implemented perfectly.
> (2) Allow invalid entry, but if it happens, show diagnostics message
>     in the bottom part of the dialog (in red, perhaps) and disable the
>     OK button until the input passes validation. This is easier to
>     implement.
> What do you prefer?

The first, because that's what lmi already strives to do elsewhere.
For example, if you type '-1' in the "Dumpin" field on the "Payments"
tab, you get a message:
  -1 is too low: 0 is the lower limit.
and you can't leave that field (except by pressing Cancel) until you
correct the problem. As another example, a default '.ill' file has
issue age 45, and if you go to the "Solve" tab and set
  Solve for: "Employee premium"
  To: "Year"
then the "Year" spincontrol is restricted to [0, maturity_age - 45];
and if you instead choose
  To: "Age"
then the "Age" spincontrol is restricted to [45, maturity_age].

That's the goal, although it's not yet complete. For instance, on the
"Group" tab, check "Partial mortality" and then choose "Survive to age
limit"; you can enter an age limit of 20, even though at issue age 45
a person must already have lived past age 20. That shortcoming isn't
intractable; it's just that we haven't made time to address it, or
some others like it.

I do understand that this can be...
>     annoying to the user if not implemented perfectly
and the trickiest part is the interdependencies. Issue age is an axis
in the database where the interdependency rules reside; change it, and
the whole world changes--in particular, maturity_age in the examples
above--but the MVC framework adapts to that.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]