You mean the { after the else? Yes, I noticed that before.
I keep having the same problem. The form is not validated when I use
errorPlacement.

I am using:

      $("#New").validate({
        errorClass: "Error",
        errorElement: "label",
        errorPlacement: function(error, element) {
          if (element.is(":textarea"))
            error.insertAfter(element.next());
          else
            error.insertAfter(element);
        },
        rules: {
          Answer: {required: true},
          Question: {required: true}
        },
        messages: {
          Answer: {required: "Insert an answer"},
          Question: {required: "Insert a question"}
        }
      });

Any idea?

Thanks,
Miguel


On Jun 24, 11:18 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]>
wrote:
> There was a syntax error in the errorPlacement, try this:
>
> errorPlacement: function(error, element) {
>          if (element.is(":textarea"))
>            error.insertAfter(element.next());
>          else
>            error.insertAfter(element);
>        },
>
> On Tue, Jun 24, 2008 at 11:36 PM, shapper <[EMAIL PROTECTED]> wrote:
>
> > Hello,
>
> > I have been trying to make JQuery Validation with TinyMCE and until
> > now I wasn't able to do this. I have 2 text areas converted to
> > TinyMCE. I am using:
>
> >      $("#New").validate({
> >        errorClass: "Error",
> >        errorElement: "label",
> >        errorPlacement: function(error, element) {
> >          if (element.is(":textarea"))
> >            error.insertAfter(element.next());
> >          else {
> >            error.insertAfter(element);
> >        },
> >        rules: {
> >          Answer: {required: true},
> >          Question: {required: true}
> >        },
> >                    messages: {
> >                      Answer: {required: "Insert an answer"},
> >                      Question: {required: "Insert a question"}
> >                          }
> >      });
>
> > Using this code does not even validate. The form is submited. If I
> > remove the errorReplacement part then it works but the error message
> > is out of place.
>
> > I tried many options but until now I wasn't able to make this work.
>
> > Any idea how to solve this?
>
> > Thanks,
> > Miguel
>
> > On Jun 24, 3:01 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]>
> > wrote:
> >> How about this:
>
> >> errorPlacement: function(error, element) {
> >>          if (element.is(":textarea"))
> >>            error.insertAfter(element.next());
> >>          else {
> >>            error.insertAfter(element);
>
> >> }
>
> >> Jörn
>
> >> On Tue, Jun 24, 2008 at 2:18 PM, shapper <[EMAIL PROTECTED]> wrote:
>
> >> > Hello,
>
> >> > I checked the markup used by TinyMCE and it is something as follows:
>
> >> >  <label for="Question">Question</label>
> >> >  <textarea id="Question" cols="20" rows="10" name="Question"
> >> > style="display: none;"/>
> >> >  <span id="Question_parent" class="mceEditor BonsAlunosSkin">
> >> >    <table id="Question_tbl" class="mceLayout" cellspacing="0"
> >> > cellpadding="0" style="width: 538px; height: 175px;">
> >> >      <tbody>
> >> >      .....
> >> >      </tbody>
> >> >    </table>
> >> >  </span>
>
> >> > So the textarea is disabled and replaced by a span and table ...
>
> >> > I then changed my validation code to:
>
> >> >      $("#New").validate({
> >> >        errorClass: "Error",
> >> >        errorElement: "label",
> >> >        rules: {Question: {required: true}},
> >> >        errorPlacement: function(error, element) {
> >> >          if (element.is(":textarea"))
> >> >            error.appendTo(element.parent().next().next('textarea'));
> >> >        }
> >> >      });
>
> >> > This is not working. Could you, please, tell me what am I doing wrong?
> >> > I also tried with table but no success.
>
> >> > On Jun 23, 9:57 am, "Jörn Zaefferer" <[EMAIL PROTECTED]>
> >> > wrote:
> >> >> Most likely TinyMCE creates a new element and places it after the
> >> >> textarea, hiding the former. Use the errorPlacement-option to
> >> >> customize the placement for that case.
>
> >> >> Jörn
>
> >> >> On Mon, Jun 23, 2008 at 1:54 AM, shapper <[EMAIL PROTECTED]> wrote:
>
> >> >> > Hello,
>
> >> >> > I have the following rules:
>
> >> >> >      $("#New").validate({
> >> >> >        errorClass: "Error",
> >> >> >        errorElement: "label",
> >> >> >        rules: {Answer: {required: true}},
> >> >> >      });
>
> >> >> > Applied to text area:
>
> >> >> >     <label for="Answer" class="Required">Resposta</label>
> >> >> >     <textarea  name="Answer" rows="10" cols="20" id="Answer"></
> >> >> > textarea>
>
> >> >> > This works fine. The error labels shows after the TextArea.
> >> >> > The moment I use TinyMCE (http://tinymce.moxiecode.com/) to make the
> >> >> > Text Area an HTML WYSIWYG editor I get a problem:
>
> >> >> >  The error label shows before the text area and after the label!
>
> >> >> > Any idea what might be wrong? How can I solve this?
>
> >> >> > Thanks,
> >> >> > Miguel

Reply via email to