RE: Vaiidators
Hi James, I want to enter a time of day value such as ##:## and ensure the colon was entered. I'd live to hear if you manage to do this. 2. I have tried a number of regex strings: (\d+) allows entry of numbers (:) allows entry of colons (\d+:) allows no entry at all (\d+:\d+) allows no entry at all (\d{2,}:\d{2,})allows no entry at all Do validators not allow for mixed alphanumeric fields? Seems like a common need. I only managed to get a one character code, like \d+. But the whole concept of these transfer buffers seemed a bit counter-intuitive and old-school to me and so I didn't try very hard. Let me know if you crack it. As I'm writing this, I realise I never used any regex feedback like \1 or whatever. Good luck, Regards Steve.
Re: Vaiidators
- Original Message - From: James Lynes jmlyne...@gmail.com To: wxperl-users@perl.org Cc: Sent: Monday, February 11, 2013 2:15 AM Subject: Vaiidators Hi: I am playing with creating a custom dialog using validators and I seem to have hit a wall. I am using the code from the wxPerl demo program. My setup is: my $timeval = LCDAlarmClockDialog::Validator-new( qr/(\d+)/, \($self-{data}) ); I want to enter a time of day value such as ##:## and ensure the colon was entered. print Dumper($timeval) says: $VAR1 = bless( { 'data' = \'10:00', 'validate' = qr/(?^:(\d+:))/ }, 'LCDAlarmClockDialog::Validator' ); 1. Not sure what the pre-pended ?^: means. It was added by Wx::Perl::TextValidator 2. I have tried a number of regex strings: (\d+) allows entry of numbers (:) allows entry of colons (\d+:) allows no entry at all (\d+:\d+) allows no entry at all (\d{2,}:\d{2,}) allows no entry at all Do validators not allow for mixed alphanumeric fields? Seems like a common need. If they do, how do you structure it? Thanks, James I don't know wxPerl specifics, but how about a very basic regular expression: ^(\d+)\:(\d+)$ ? Try this in a junk script first. Regards, Sergei.
Re: Vaiidators
James Lynes jmlyne...@gmail.com writes: print Dumper($timeval) says: $VAR1 = bless( { 'data' = \'10:00', 'validate' = qr/(?^:(\d+:))/ }, 'LCDAlarmClockDialog::Validator' ); 1. Not sure what the pre-pended ?^: means. It was added by Wx::Perl::TextValidator 2. I have tried a number of regex strings: (\d+) allows entry of numbers (:) allows entry of colons (\d+:) allows no entry at all (\d+:\d+) allows no entry at all (\d{2,}:\d{2,})allows no entry at all It's a long time ago that I playes with Validators, but I seem to recall that there was something with the moment the test was applied. The validator is really a filter, so it restrics what characters can be input. When you try (\d+:) then youy're matching more than one character against the input, which will always fail since the input initially is empty and the first character will never match the pattern. So the validator pattern should be sort of character class, e.g. [\d:] and you need an additional end-form validator ^(\d{2,}:\d{2,})$ in TransferFromWindow. -- Johan