Is this a good practice ? Or should we be doing the form validation using Struts itself, using the ActionError classes ?
I think it's a good practice. But don't forget taht y must validate user inputs on the server side too. I don´t know too much Struts, but take a look at Struts Validator with its declarative XML validations. It´s a good way for validating user inputs :).
Never trust user input. You ALWAYS have to do the validation at the server. Client-side validation is just a bonus if you have the time.