in reply to perl/Tk Entry validation
Yes, show a complete example which demonstrates the problem. It look off the top of my head, that you may have a problem in the return value from -validatecommand .... it should return a 1 or 0. Look how this works.
#!/usr/bin/perl use strict; use warnings; use Tk; my $top = MainWindow->new(); $top->geometry('200x200'); my %entries; for(1..4){ $entries{$_}{'value'} ||= 0; $entries{$_}{'entry'} = $top->Entry( -textvariable => \$entries{$_}{'value'}, -width => 5, -bg => 'white', -validate => 'key', -vcmd => \&validate, )->pack; } MainLoop; #have to make sure empty value has numeric context sub validate{ my $val = shift; $val ||= 0; #get alphas and punctuation out if( $val !~ /^\d+$/ ){ return 0 } if (($val >= 0) and ($val <= 100)) {return 1} else{ return 0 } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: perl/Tk Entry validation
by contact@solamen.fr (Novice) on Jul 24, 2012 at 12:43 UTC | |
by choroba (Cardinal) on Jul 24, 2012 at 13:09 UTC | |
by contact@solamen.fr (Novice) on Jul 24, 2012 at 13:33 UTC | |
by choroba (Cardinal) on Jul 24, 2012 at 13:57 UTC |