Apologies if this has gone too far offtopic...
On Mon, Jan 26, 2009 at 6:40 AM, Lyle <[email protected]> wrote: > Joshua, > Have you managed to figure out a work around for:- > > 'constraints' => { > 'password1' => { > 'constraint' => "check_passwords", > 'params' => [ qw( password1 password2 ) ], > }, > }, > ... > sub check_passwords { > my ( $pw1, $pw2 ) = @_; > if ( $pw1 eq $pw2 ) { > return 1; > } else { > return 0; > } > } > Currently, there is no easy, built-in way to do this. Many times, I'll just leave that up to the backend to handle. Of course, it is possible to tie it in on the frontend. Take the check_and_report function from the file Data/FormValidator.js, and update the end part of it something like this: if (! results.success()) { ...leave this stuff } else { // This is where you'd add the password eq check // assuming the profile already checked password1 and password2 // had some valid value var password1 = results.getField(frmObj, 'password1'); var password2 = results.getField(frmObj, 'password2'); if ( password1[0] != password2[0] ) { results.changeStyle(frmObj, 'password1', badColor); results.changeStyle(frmObj, 'password2', badColor); alert("There is a problem with your form.\n\nThe entered passwords do not match."); return false } else { return true; } } I would like to see Data.FormValidator.js get support for including things like that in the profile. While it would break the profiles compatibility with Data::FormValidator.pm, a filter could be implemented to let the profile be used on both of them. I'm not totally sure how that would work out though. At least for myself, I usually generate the javascript profile from a profile written in perl, and that would make it difficult to include a javascript function definition inline. I'm open to suggestions and patches, but that conversation should probably be moved offlist or to the forum on the Data.FormValidator.js berlios page. Thanks, -- Josh I. ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
