summaryrefslogtreecommitdiff
path: root/GroLUG/lib/HTML/Widget/Constraint
diff options
context:
space:
mode:
Diffstat (limited to 'GroLUG/lib/HTML/Widget/Constraint')
-rw-r--r--GroLUG/lib/HTML/Widget/Constraint/EuroAmount.pm9
-rw-r--r--GroLUG/lib/HTML/Widget/Constraint/ISODate.pm18
2 files changed, 27 insertions, 0 deletions
diff --git a/GroLUG/lib/HTML/Widget/Constraint/EuroAmount.pm b/GroLUG/lib/HTML/Widget/Constraint/EuroAmount.pm
new file mode 100644
index 0000000..7e80265
--- /dev/null
+++ b/GroLUG/lib/HTML/Widget/Constraint/EuroAmount.pm
@@ -0,0 +1,9 @@
+package HTML::Widget::Constraint::EuroAmount;
+
+use warnings;
+use strict;
+use base 'HTML::Widget::Constraint::Regex';
+
+sub regex { qr{^\d+(?:\.\d{0,2})?$} };
+
+1;
diff --git a/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm b/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm
new file mode 100644
index 0000000..f5680d2
--- /dev/null
+++ b/GroLUG/lib/HTML/Widget/Constraint/ISODate.pm
@@ -0,0 +1,18 @@
+package HTML::Widget::Constraint::ISODate;
+
+use warnings;
+use strict;
+use base 'HTML::Widget::Constraint';
+use DateTime::Format::Strptime;
+
+my $format=DateTime::Format::Strptime->new(pattern=>'%F');
+
+sub validate {
+ my ($self,$value)=@_;
+
+ my $val=$format->parse_datetime($value);
+
+ return defined($val);
+}
+
+1;