$ ->has_error validation method in Mojolicious higher than 8.33 version

51 views
Skip to first unread message

Ivan Kolisnyk

unread,
Apr 12, 2020, 7:49:06 AM4/12/20
to Mojolicious
Hi everybody,
I have installed last version of Mojolicious and I found that the $ ->has_error validation method was working with an error.
When I send data form with empty field, which must be required full, I get empty value of $v->has_error. This method worked correctly in previous version of Mojolicious (8.28 and 8.33) I used.
Please explain how to fix this bug.

Sebastian Riedel

unread,
Apr 12, 2020, 7:57:55 AM4/12/20
to Mojolicious
I have installed last version of Mojolicious and I found that the $ ->has_error validation method was working with an error.
When I send data form with empty field, which must be required full, I get empty value of $v->has_error. This method worked correctly in previous version of Mojolicious (8.28 and 8.33) I used.
Please explain how to fix this bug.

Your description is very vague, so i can only guess. But you probably want to use the not_empty filter on the affected field.


--
sebastian 

Ivan Kolisnyk

unread,
Apr 12, 2020, 8:55:45 AM4/12/20
to Mojolicious
This is the code I use in my project:

In helper:
$app->helper(_validation => sub { my($c, $required_fields) = @_;
                                       
my $v = $c->validation;
                                       
foreach my $item($required_fields->@*){
                                            $v
->required($item);
                                       
}
                                       
return $v;  
                                     
});

and in controller:
my $v = $app->_validation($ref_required_fields);
   
if( $v->has_error ) { sub{ ... } }

This code works correctly in Mojolicious versions lower than 8.34. You can see how it works at https://dev.mojoblog.me/authentication


неділя, 12 квітня 2020 р. 14:57:55 UTC+3 користувач Sebastian Riedel написав:

Stefan Adams

unread,
Apr 12, 2020, 3:21:14 PM4/12/20
to mojolicious
The conversation in the PR might provide some insight to Sebastian's pointer.  The change was made in 8.35.

--
You received this message because you are subscribed to the Google Groups "Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mojolicious/2514dc71-e198-4277-8d2a-a170f943dca1%40googlegroups.com.

Ivan Kolisnyk

unread,
Apr 14, 2020, 3:25:45 PM4/14/20
to Mojolicious
The same code is used in the example of blog included in Mojo::Pg module.
Method has_error is not working in this example too with 8.36 Mojolicious version.
The feedback of $v->has_error cannot be used for creating alert message about empty field in a web form.
Can you fix it so it worked like in previous versions?


неділя, 12 квітня 2020 р. 14:57:55 UTC+3 користувач Sebastian Riedel написав:
I have installed last version of Mojolicious and I found that the $ ->has_error validation method was working with an error.

Sebastian Riedel

unread,
Apr 14, 2020, 5:48:40 PM4/14/20
to mojol...@googlegroups.com
> The same code is used in the example of blog included in Mojo::Pg module.
> Method has_error is not working in this example too with 8.36 Mojolicious version.
> The feedback of $v->has_error cannot be used for creating alert message about empty field in a web form.
> Can you fix it so it worked like in previous versions?

Thanks, fixed.

https://github.com/mojolicious/mojo-pg/compare/e44efd108841...7a4a016fd69d
--
Sebastian Riedel
https://mojolicious.org
https://github.com/kraih
https://twitter.com/kraih

Ivan Kolisnyk

unread,
Apr 15, 2020, 6:28:52 AM4/15/20
to Mojolicious
Thank you Sebastian.
All works now.
I did not pay attention to the combination of 'required' method and filters.

середа, 15 квітня 2020 р. 00:48:40 UTC+3 користувач Sebastian Riedel написав:
Reply all
Reply to author
Forward
0 new messages