[Jifty-commit] r2461 - in jifty/trunk: lib/Jifty
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Fri Jan 5 00:30:32 EST 2007
Author: trs
Date: Fri Jan 5 00:30:29 2007
New Revision: 2461
Modified:
jifty/trunk/ (props changed)
jifty/trunk/lib/Jifty/Action.pm
Log:
r18665 at zot: tom | 2007-01-04 23:50:32 -0500
Only emit mandatory field warnings with Ajax when the field starts with data.
Modified: jifty/trunk/lib/Jifty/Action.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Action.pm (original)
+++ jifty/trunk/lib/Jifty/Action.pm Fri Jan 5 00:30:29 2007
@@ -854,11 +854,10 @@
my $value = $self->argument_value($field);
- if ( !defined $value || !length $value ) {
-
- if ( $field_info->{mandatory} ) {
- return $self->validation_error( $field => _("You need to fill in this field") );
- }
+ if ( $field_info->{mandatory}
+ and $self->_is_argument_value_deleted($field) )
+ {
+ return $self->validation_error( $field => _("You need to fill in this field") );
}
# If we have a set of allowed values, let's check that out.
@@ -895,6 +894,31 @@
}
}
+sub _is_argument_value_deleted {
+ my $self = shift;
+ my $field = shift;
+
+ my $value = $self->argument_value($field);
+
+ my $field_info = $self->arguments->{$field};
+ return unless $field_info;
+
+ my $default_value;
+ $default_value = $field_info->{'default_value'}
+ if exists $field_info->{'default_value'};
+ $default_value = $value
+ if $self->has_argument($field) && $value && !$self->values_from_request->{$field};
+
+ if ( not defined $value or not length $value ) {
+ if ( ( defined $default_value && $value ne $default_value )
+ || ( Jifty->web->request->path !~ m{^/__jifty/validator\.xml} ) )
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
=head2 _autocomplete_argument ARGUMENT
Get back a list of possible completions for C<ARGUMENT>. The list
More information about the Jifty-commit
mailing list