At the moment I have a very simple login page with 2 inputs. After upgrading to Tap5.3 and the latest jquery snapshot, my login stopped working because the validation javascript that gets generated is broken.
I've been trying to figure out the best way to troubleshoot this issue and ask for help, and I decided the best thing to do was create a simple demonstration of the problem. So I created an a new empty app, copied my login.tml and login.java classes and created all the necessary support stuff to make the simple login page come up.
If you clone that, and just execute: mvn jetty:run then navigate to localhost:8080/broken you will get my simple login page, and everything will work just fine. Surprised the heck out of me. Then I found the difference.
Edit pom.xml and change tapestry-core to tapestry-hibernate and restart jetty with: mvn clean jetty:run
Navigate to the login page again, and you will notice that the validation javascript is now broken. It is missing the ids of the elements to be validated.
At this point, I'm not sure if the problem is with tap5 or with the jquery library, but I thought I'd start here.
I just noticed, that when the app runs with tapestry-core, the username input is generated like this:
<input class="username" value="f...@bar.com" id="username" name="username" type="text">
and when running with tapestry-hibernate it is generated like this:
which is definitely missing the id attribute. That seems to be a likely cause of the problem.
Should I post this on the tap5 mailing list?
Thanks for any help or input.
Tony Nelson