You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Fredrik Andersson <fr...@hotmail.com> on 2014/03/06 14:13:35 UTC

Why do I get this XHTML validation errors?‏ (second attempt)

Hello guys!

I trying to produce a app that renders in XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

How ever I got a form looking like this:

<s:form action="productcommentssave">
<s:textfield name="productComment.emailAddress" label="Email address" labelposition="top" maxlength="128" size="40" />
<s:textfield name="productComment.subject" label="Subject" labelposition="top" maxlength="128" size="40" />
<s:textarea name="productComment.text" label="Message (max 1024 chars)" cols="52" rows="5" labelposition="top" wrap="hard"/>
<s:submit />
<s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" value="%{formToken}" />
<s:hidden name="productid" value="%{product.id}" />
</s:form>

This gets rendered like:
25 <form id="productcommentssave" name="productcommentssave" action="/productcommentssave.action" method="post">
26 <table class="wwFormTable">
27 <tr>
28 <td align="left" valign="top" colspan="2"><label for="productcommentssave_productComment_emailAddress" class="label">Email address:</label></td>
29 </tr>
30 <tr>
31 <td
32><input type="text" name="productComment.emailAddress" size="40" maxlength="128" value="" id="productcommentssave_productComment_emailAddress"/></td>
33 </tr>
34
35
36 <tr>
37 <td align="left" valign="top" colspan="2"><label for="productcommentssave_productComment_subject" class="label">Subject:</label></td>
38 </tr>
39 <tr>
40 <td
41><input type="text" name="productComment.subject" size="40" maxlength="128" value="" id="productcommentssave_productComment_subject"/></td>
42 </tr>
43
44
45 <tr>
46 <td align="left" valign="top" colspan="2"><label for="productcommentssave_productComment_text" class="label">Message (max 1024 chars):</label></td>
47 </tr>
48 <tr>
49 <td
50><textarea name="productComment.text" cols="52" rows="5" wrap="hard" id="productcommentssave_productComment_text"></textarea></td>
51 </tr>
52
53
54 <tr>
55 <td colspan="2"><div align="right"><input type="submit" id="productcommentssave_0" value="Submit"/>
56 </div></td>
57</tr>
58
59
60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" value="1394108222515" id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
61 <input type="hidden" name="productid" value="3" id="productcommentssave_productid"/>
62 </table></form>

From http://validator.w3.org/#validate_by_input+with_options I validate it and get these 3 anoying errors:

Error Line 50, Column 63: there is no attribute "wrap"
…Comment.text" cols="52" rows="5" wrap="hard" id="productcommentssave_productCo…
You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.

Error Line 60, Column 161: document type does not allow element "input" here
…1394108222515" id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).
One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).

Error Line 61, Column 93: document type does not allow element "input" here
…t type="hidden" name="productid" value="3" id="productcommentssave_productid"/>
(same as at line 60)

Do you guys see anything that I could do to correct this? I would love to have a app with correct xhtml.

Best regards
Fredrik 		 	   		  

Re: Why do I get this XHTML validation errors? (second attempt)

Posted by Dave Newton <da...@gmail.com>.
You can always wrap the hidden tags in your own table row/etc.

That's probably something that could be corrected in the "xhtml" theme.


On Thu, Mar 6, 2014 at 8:13 AM, Fredrik Andersson <fr...@hotmail.com>wrote:

> Hello guys!
>
> I trying to produce a app that renders in XHTML.
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
>
> How ever I got a form looking like this:
>
> <s:form action="productcommentssave">
> <s:textfield name="productComment.emailAddress" label="Email address"
> labelposition="top" maxlength="128" size="40" />
> <s:textfield name="productComment.subject" label="Subject"
> labelposition="top" maxlength="128" size="40" />
> <s:textarea name="productComment.text" label="Message (max 1024 chars)"
> cols="52" rows="5" labelposition="top" wrap="hard"/>
> <s:submit />
> <s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> value="%{formToken}" />
> <s:hidden name="productid" value="%{product.id}" />
> </s:form>
>
> This gets rendered like:
> 25 <form id="productcommentssave" name="productcommentssave"
> action="/productcommentssave.action" method="post">
> 26 <table class="wwFormTable">
> 27 <tr>
> 28 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_emailAddress" class="label">Email
> address:</label></td>
> 29 </tr>
> 30 <tr>
> 31 <td
> 32><input type="text" name="productComment.emailAddress" size="40"
> maxlength="128" value=""
> id="productcommentssave_productComment_emailAddress"/></td>
> 33 </tr>
> 34
> 35
> 36 <tr>
> 37 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_subject"
> class="label">Subject:</label></td>
> 38 </tr>
> 39 <tr>
> 40 <td
> 41><input type="text" name="productComment.subject" size="40"
> maxlength="128" value=""
> id="productcommentssave_productComment_subject"/></td>
> 42 </tr>
> 43
> 44
> 45 <tr>
> 46 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_text" class="label">Message (max
> 1024 chars):</label></td>
> 47 </tr>
> 48 <tr>
> 49 <td
> 50><textarea name="productComment.text" cols="52" rows="5" wrap="hard"
> id="productcommentssave_productComment_text"></textarea></td>
> 51 </tr>
> 52
> 53
> 54 <tr>
> 55 <td colspan="2"><div align="right"><input type="submit"
> id="productcommentssave_0" value="Submit"/>
> 56 </div></td>
> 57</tr>
> 58
> 59
> 60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> value="1394108222515"
> id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> 61 <input type="hidden" name="productid" value="3"
> id="productcommentssave_productid"/>
> 62 </table></form>
>
> From http://validator.w3.org/#validate_by_input+with_options I validate
> it and get these 3 anoying errors:
>
> Error Line 50, Column 63: there is no attribute "wrap"
> ...Comment.text" cols="52" rows="5" wrap="hard"
> id="productcommentssave_productCo...
> You have used the attribute named above in your document, but the document
> type you are using does not support that attribute for this element. This
> error is often caused by incorrect use of the "Strict" document type with a
> document that uses frames (e.g. you must use the "Transitional" document
> type to get the "target" attribute), or by using vendor proprietary
> extensions such as "marginheight" (this is usually fixed by using CSS to
> achieve the desired effect instead).
> This error may also result if the element itself is not supported in the
> document type you are using, as an undefined element will have no supported
> attributes; in this case, see the element-undefined error message for
> further information.
> How to fix: check the spelling and case of the element and attribute,
> (Remember XHTML is all lower-case) and/or check that they are both allowed
> in the chosen document type, and/or use CSS instead of this attribute. If
> you received this error when using the <embed> element to incorporate flash
> media in a Web page, see the FAQ item on valid flash.
>
> Error Line 60, Column 161: document type does not allow element "input"
> here
> ...1394108222515"
> id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> The element named above was found in a context where it is not allowed.
> This could mean that you have incorrectly nested elements -- such as a
> "style" element in the "body" section instead of inside "head" -- or two
> elements that overlap (which is not allowed).
> One common cause for this error is the use of XHTML syntax in HTML
> documents. Due to HTML's rules of implicitly closed elements, this error
> can create cascading effects. For instance, using XHTML's "self-closing"
> tags for "meta" and "link" in the "head" section of a HTML document may
> cause the parser to infer the end of the "head" section and the beginning
> of the "body" section (where "link" and "meta" are not allowed; hence the
> reported error).
>
> Error Line 61, Column 93: document type does not allow element "input" here
> ...t type="hidden" name="productid" value="3"
> id="productcommentssave_productid"/>
> (same as at line 60)
>
> Do you guys see anything that I could do to correct this? I would love to
> have a app with correct xhtml.
>
> Best regards
> Fredrik




-- 
e: davelnewton@gmail.com
m: 908-380-8699
s: davelnewton_skype
t: @dave_newton <https://twitter.com/dave_newton>
b: Bucky Bits <http://buckybits.blogspot.com/>
g: davelnewton <https://github.com/davelnewton>
so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>

Re: Why do I get this XHTML validation errors? (second attempt)

Posted by Dave Newton <da...@gmail.com>.
I think the issue with the hidden elements is that they're not rendering in
a table row, and I don't think you're supposed to have elements in-between
(or before/after) a table's rows.


On Thu, Mar 6, 2014 at 11:48 AM, Chris Pratt <th...@gmail.com>wrote:

> Did you try moving the <s:hidden> elements to the top of the form, or
> removing the wrap="hard" from your <s:textarea>?
>   (*Chris*)
>
>
> On Thu, Mar 6, 2014 at 5:13 AM, Fredrik Andersson <fredand44@hotmail.com
> >wrote:
>
> > Hello guys!
> >
> > I trying to produce a app that renders in XHTML.
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > <html xmlns="http://www.w3.org/1999/xhtml">
> >
> > How ever I got a form looking like this:
> >
> > <s:form action="productcommentssave">
> > <s:textfield name="productComment.emailAddress" label="Email address"
> > labelposition="top" maxlength="128" size="40" />
> > <s:textfield name="productComment.subject" label="Subject"
> > labelposition="top" maxlength="128" size="40" />
> > <s:textarea name="productComment.text" label="Message (max 1024 chars)"
> > cols="52" rows="5" labelposition="top" wrap="hard"/>
> > <s:submit />
> > <s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> > value="%{formToken}" />
> > <s:hidden name="productid" value="%{product.id}" />
> > </s:form>
> >
> > This gets rendered like:
> > 25 <form id="productcommentssave" name="productcommentssave"
> > action="/productcommentssave.action" method="post">
> > 26 <table class="wwFormTable">
> > 27 <tr>
> > 28 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_emailAddress" class="label">Email
> > address:</label></td>
> > 29 </tr>
> > 30 <tr>
> > 31 <td
> > 32><input type="text" name="productComment.emailAddress" size="40"
> > maxlength="128" value=""
> > id="productcommentssave_productComment_emailAddress"/></td>
> > 33 </tr>
> > 34
> > 35
> > 36 <tr>
> > 37 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_subject"
> > class="label">Subject:</label></td>
> > 38 </tr>
> > 39 <tr>
> > 40 <td
> > 41><input type="text" name="productComment.subject" size="40"
> > maxlength="128" value=""
> > id="productcommentssave_productComment_subject"/></td>
> > 42 </tr>
> > 43
> > 44
> > 45 <tr>
> > 46 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_text" class="label">Message (max
> > 1024 chars):</label></td>
> > 47 </tr>
> > 48 <tr>
> > 49 <td
> > 50><textarea name="productComment.text" cols="52" rows="5" wrap="hard"
> > id="productcommentssave_productComment_text"></textarea></td>
> > 51 </tr>
> > 52
> > 53
> > 54 <tr>
> > 55 <td colspan="2"><div align="right"><input type="submit"
> > id="productcommentssave_0" value="Submit"/>
> > 56 </div></td>
> > 57</tr>
> > 58
> > 59
> > 60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> > value="1394108222515"
> > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> > 61 <input type="hidden" name="productid" value="3"
> > id="productcommentssave_productid"/>
> > 62 </table></form>
> >
> > From http://validator.w3.org/#validate_by_input+with_options I validate
> > it and get these 3 anoying errors:
> >
> > Error Line 50, Column 63: there is no attribute "wrap"
> > ...Comment.text" cols="52" rows="5" wrap="hard"
> > id="productcommentssave_productCo...
> > You have used the attribute named above in your document, but the
> document
> > type you are using does not support that attribute for this element. This
> > error is often caused by incorrect use of the "Strict" document type
> with a
> > document that uses frames (e.g. you must use the "Transitional" document
> > type to get the "target" attribute), or by using vendor proprietary
> > extensions such as "marginheight" (this is usually fixed by using CSS to
> > achieve the desired effect instead).
> > This error may also result if the element itself is not supported in the
> > document type you are using, as an undefined element will have no
> supported
> > attributes; in this case, see the element-undefined error message for
> > further information.
> > How to fix: check the spelling and case of the element and attribute,
> > (Remember XHTML is all lower-case) and/or check that they are both
> allowed
> > in the chosen document type, and/or use CSS instead of this attribute. If
> > you received this error when using the <embed> element to incorporate
> flash
> > media in a Web page, see the FAQ item on valid flash.
> >
> > Error Line 60, Column 161: document type does not allow element "input"
> > here
> > ...1394108222515"
> > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> > The element named above was found in a context where it is not allowed.
> > This could mean that you have incorrectly nested elements -- such as a
> > "style" element in the "body" section instead of inside "head" -- or two
> > elements that overlap (which is not allowed).
> > One common cause for this error is the use of XHTML syntax in HTML
> > documents. Due to HTML's rules of implicitly closed elements, this error
> > can create cascading effects. For instance, using XHTML's "self-closing"
> > tags for "meta" and "link" in the "head" section of a HTML document may
> > cause the parser to infer the end of the "head" section and the beginning
> > of the "body" section (where "link" and "meta" are not allowed; hence the
> > reported error).
> >
> > Error Line 61, Column 93: document type does not allow element "input"
> here
> > ...t type="hidden" name="productid" value="3"
> > id="productcommentssave_productid"/>
> > (same as at line 60)
> >
> > Do you guys see anything that I could do to correct this? I would love to
> > have a app with correct xhtml.
> >
> > Best regards
> > Fredrik
>



-- 
e: davelnewton@gmail.com
m: 908-380-8699
s: davelnewton_skype
t: @dave_newton <https://twitter.com/dave_newton>
b: Bucky Bits <http://buckybits.blogspot.com/>
g: davelnewton <https://github.com/davelnewton>
so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>

Re: Why do I get this XHTML validation errors? (second attempt)

Posted by Paul Benedict <pb...@apache.org>.
Please note the "wrap" attribute on <textarea> is new to (X)HTML5. So it
definitely won't validate version <= 4. Chris is right, you should remove
it unless you want to validate at a higher HTML version.


On Thu, Mar 6, 2014 at 10:48 AM, Chris Pratt <th...@gmail.com>wrote:

> Did you try moving the <s:hidden> elements to the top of the form, or
> removing the wrap="hard" from your <s:textarea>?
>   (*Chris*)
>
>
> On Thu, Mar 6, 2014 at 5:13 AM, Fredrik Andersson <fredand44@hotmail.com
> >wrote:
>
> > Hello guys!
> >
> > I trying to produce a app that renders in XHTML.
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > <html xmlns="http://www.w3.org/1999/xhtml">
> >
> > How ever I got a form looking like this:
> >
> > <s:form action="productcommentssave">
> > <s:textfield name="productComment.emailAddress" label="Email address"
> > labelposition="top" maxlength="128" size="40" />
> > <s:textfield name="productComment.subject" label="Subject"
> > labelposition="top" maxlength="128" size="40" />
> > <s:textarea name="productComment.text" label="Message (max 1024 chars)"
> > cols="52" rows="5" labelposition="top" wrap="hard"/>
> > <s:submit />
> > <s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> > value="%{formToken}" />
> > <s:hidden name="productid" value="%{product.id}" />
> > </s:form>
> >
> > This gets rendered like:
> > 25 <form id="productcommentssave" name="productcommentssave"
> > action="/productcommentssave.action" method="post">
> > 26 <table class="wwFormTable">
> > 27 <tr>
> > 28 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_emailAddress" class="label">Email
> > address:</label></td>
> > 29 </tr>
> > 30 <tr>
> > 31 <td
> > 32><input type="text" name="productComment.emailAddress" size="40"
> > maxlength="128" value=""
> > id="productcommentssave_productComment_emailAddress"/></td>
> > 33 </tr>
> > 34
> > 35
> > 36 <tr>
> > 37 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_subject"
> > class="label">Subject:</label></td>
> > 38 </tr>
> > 39 <tr>
> > 40 <td
> > 41><input type="text" name="productComment.subject" size="40"
> > maxlength="128" value=""
> > id="productcommentssave_productComment_subject"/></td>
> > 42 </tr>
> > 43
> > 44
> > 45 <tr>
> > 46 <td align="left" valign="top" colspan="2"><label
> > for="productcommentssave_productComment_text" class="label">Message (max
> > 1024 chars):</label></td>
> > 47 </tr>
> > 48 <tr>
> > 49 <td
> > 50><textarea name="productComment.text" cols="52" rows="5" wrap="hard"
> > id="productcommentssave_productComment_text"></textarea></td>
> > 51 </tr>
> > 52
> > 53
> > 54 <tr>
> > 55 <td colspan="2"><div align="right"><input type="submit"
> > id="productcommentssave_0" value="Submit"/>
> > 56 </div></td>
> > 57</tr>
> > 58
> > 59
> > 60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> > value="1394108222515"
> > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> > 61 <input type="hidden" name="productid" value="3"
> > id="productcommentssave_productid"/>
> > 62 </table></form>
> >
> > From http://validator.w3.org/#validate_by_input+with_options I validate
> > it and get these 3 anoying errors:
> >
> > Error Line 50, Column 63: there is no attribute "wrap"
> > ...Comment.text" cols="52" rows="5" wrap="hard"
> > id="productcommentssave_productCo...
> > You have used the attribute named above in your document, but the
> document
> > type you are using does not support that attribute for this element. This
> > error is often caused by incorrect use of the "Strict" document type
> with a
> > document that uses frames (e.g. you must use the "Transitional" document
> > type to get the "target" attribute), or by using vendor proprietary
> > extensions such as "marginheight" (this is usually fixed by using CSS to
> > achieve the desired effect instead).
> > This error may also result if the element itself is not supported in the
> > document type you are using, as an undefined element will have no
> supported
> > attributes; in this case, see the element-undefined error message for
> > further information.
> > How to fix: check the spelling and case of the element and attribute,
> > (Remember XHTML is all lower-case) and/or check that they are both
> allowed
> > in the chosen document type, and/or use CSS instead of this attribute. If
> > you received this error when using the <embed> element to incorporate
> flash
> > media in a Web page, see the FAQ item on valid flash.
> >
> > Error Line 60, Column 161: document type does not allow element "input"
> > here
> > ...1394108222515"
> > id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> > The element named above was found in a context where it is not allowed.
> > This could mean that you have incorrectly nested elements -- such as a
> > "style" element in the "body" section instead of inside "head" -- or two
> > elements that overlap (which is not allowed).
> > One common cause for this error is the use of XHTML syntax in HTML
> > documents. Due to HTML's rules of implicitly closed elements, this error
> > can create cascading effects. For instance, using XHTML's "self-closing"
> > tags for "meta" and "link" in the "head" section of a HTML document may
> > cause the parser to infer the end of the "head" section and the beginning
> > of the "body" section (where "link" and "meta" are not allowed; hence the
> > reported error).
> >
> > Error Line 61, Column 93: document type does not allow element "input"
> here
> > ...t type="hidden" name="productid" value="3"
> > id="productcommentssave_productid"/>
> > (same as at line 60)
> >
> > Do you guys see anything that I could do to correct this? I would love to
> > have a app with correct xhtml.
> >
> > Best regards
> > Fredrik
>



-- 
Cheers,
Paul

Re: Why do I get this XHTML validation errors? (second attempt)

Posted by Chris Pratt <th...@gmail.com>.
Did you try moving the <s:hidden> elements to the top of the form, or
removing the wrap="hard" from your <s:textarea>?
  (*Chris*)


On Thu, Mar 6, 2014 at 5:13 AM, Fredrik Andersson <fr...@hotmail.com>wrote:

> Hello guys!
>
> I trying to produce a app that renders in XHTML.
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
>
> How ever I got a form looking like this:
>
> <s:form action="productcommentssave">
> <s:textfield name="productComment.emailAddress" label="Email address"
> labelposition="top" maxlength="128" size="40" />
> <s:textfield name="productComment.subject" label="Subject"
> labelposition="top" maxlength="128" size="40" />
> <s:textarea name="productComment.text" label="Message (max 1024 chars)"
> cols="52" rows="5" labelposition="top" wrap="hard"/>
> <s:submit />
> <s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> value="%{formToken}" />
> <s:hidden name="productid" value="%{product.id}" />
> </s:form>
>
> This gets rendered like:
> 25 <form id="productcommentssave" name="productcommentssave"
> action="/productcommentssave.action" method="post">
> 26 <table class="wwFormTable">
> 27 <tr>
> 28 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_emailAddress" class="label">Email
> address:</label></td>
> 29 </tr>
> 30 <tr>
> 31 <td
> 32><input type="text" name="productComment.emailAddress" size="40"
> maxlength="128" value=""
> id="productcommentssave_productComment_emailAddress"/></td>
> 33 </tr>
> 34
> 35
> 36 <tr>
> 37 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_subject"
> class="label">Subject:</label></td>
> 38 </tr>
> 39 <tr>
> 40 <td
> 41><input type="text" name="productComment.subject" size="40"
> maxlength="128" value=""
> id="productcommentssave_productComment_subject"/></td>
> 42 </tr>
> 43
> 44
> 45 <tr>
> 46 <td align="left" valign="top" colspan="2"><label
> for="productcommentssave_productComment_text" class="label">Message (max
> 1024 chars):</label></td>
> 47 </tr>
> 48 <tr>
> 49 <td
> 50><textarea name="productComment.text" cols="52" rows="5" wrap="hard"
> id="productcommentssave_productComment_text"></textarea></td>
> 51 </tr>
> 52
> 53
> 54 <tr>
> 55 <td colspan="2"><div align="right"><input type="submit"
> id="productcommentssave_0" value="Submit"/>
> 56 </div></td>
> 57</tr>
> 58
> 59
> 60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"
> value="1394108222515"
> id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> 61 <input type="hidden" name="productid" value="3"
> id="productcommentssave_productid"/>
> 62 </table></form>
>
> From http://validator.w3.org/#validate_by_input+with_options I validate
> it and get these 3 anoying errors:
>
> Error Line 50, Column 63: there is no attribute "wrap"
> ...Comment.text" cols="52" rows="5" wrap="hard"
> id="productcommentssave_productCo...
> You have used the attribute named above in your document, but the document
> type you are using does not support that attribute for this element. This
> error is often caused by incorrect use of the "Strict" document type with a
> document that uses frames (e.g. you must use the "Transitional" document
> type to get the "target" attribute), or by using vendor proprietary
> extensions such as "marginheight" (this is usually fixed by using CSS to
> achieve the desired effect instead).
> This error may also result if the element itself is not supported in the
> document type you are using, as an undefined element will have no supported
> attributes; in this case, see the element-undefined error message for
> further information.
> How to fix: check the spelling and case of the element and attribute,
> (Remember XHTML is all lower-case) and/or check that they are both allowed
> in the chosen document type, and/or use CSS instead of this attribute. If
> you received this error when using the <embed> element to incorporate flash
> media in a Web page, see the FAQ item on valid flash.
>
> Error Line 60, Column 161: document type does not allow element "input"
> here
> ...1394108222515"
> id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
> The element named above was found in a context where it is not allowed.
> This could mean that you have incorrectly nested elements -- such as a
> "style" element in the "body" section instead of inside "head" -- or two
> elements that overlap (which is not allowed).
> One common cause for this error is the use of XHTML syntax in HTML
> documents. Due to HTML's rules of implicitly closed elements, this error
> can create cascading effects. For instance, using XHTML's "self-closing"
> tags for "meta" and "link" in the "head" section of a HTML document may
> cause the parser to infer the end of the "head" section and the beginning
> of the "body" section (where "link" and "meta" are not allowed; hence the
> reported error).
>
> Error Line 61, Column 93: document type does not allow element "input" here
> ...t type="hidden" name="productid" value="3"
> id="productcommentssave_productid"/>
> (same as at line 60)
>
> Do you guys see anything that I could do to correct this? I would love to
> have a app with correct xhtml.
>
> Best regards
> Fredrik