Php 验证错误消息未正确显示

Php 验证错误消息未正确显示,php,jquery,jquery-validate,charisma,Php,Jquery,Jquery Validate,Charisma,我不知道该怎么解释。所以只要看看下面的图片。 我正在使用charishma管理主题。从这里下载: 我正在使用jquery.validate.1.11.1.js。我们将感谢您的努力。提前谢谢。。!! 更新: 我已经看到添加的元素是label。它似乎适合文本框和选择,但对于复选框和单选框,它像above一样显示,因为这些元素的大小小于文本框和选择。请参见下面的代码生成: <div class="control-group"> <label class="control-lab

我不知道该怎么解释。所以只要看看下面的图片。

我正在使用charishma管理主题。从这里下载:

我正在使用jquery.validate.1.11.1.js。我们将感谢您的努力。提前谢谢。。!! 更新:

我已经看到添加的元素是label。它似乎适合文本框和选择,但对于复选框和单选框,它像above一样显示,因为这些元素的大小小于文本框和选择。请参见下面的代码生成:

<div class="control-group">
  <label class="control-label">Checkboxes</label>
  <div class="controls">
    <label class="checkbox inline">
      <div class="checker" id="uniform-tnc">
        <span>
          <input type="checkbox" value="option1" name="tnc" id="tnc" style="opacity: 0;" class="alert-error">
          <label for="tnc" class="alert-error">Agree to our terms and conditions to register with us.</label>
        </span>
      </div> Option 1
    </label>
  </div>
</div>

复选框
同意我们向我们注册的条款和条件。
选择1
这对于除复选框和单选框之外的所有其他输入类型都适用。对于这些,应如下所示:

<div class="control-group">
  <label class="control-label">Checkboxes</label>
  <div class="controls">
    <label class="checkbox inline">
      <div class="checker" id="uniform-tnc">
        <span>
          <input type="checkbox" value="option1" name="tnc" id="tnc" style="opacity: 0;" class="alert-error">
        </span>
      </div> Option 1
      <label for="tnc" class="alert-error">Agree to our terms and conditions to register with us.</label>
    </label>
  </div>
</div>

复选框
选择1
同意我们向我们注册的条款和条件。

我在您的OP中没有看到任何jQuery验证插件的代码。我建议您创建一个完整简洁的问题演示,并在OP中显示演示

默认情况下,jqueryvalidate插件只需在
input
元素之后插入一个带有错误的
标签
元素。对于
无线电
复选框
类型,将在组中第一个标签之后立即插入
标签

由于此
标签越来越拥挤,有三种方法可以解决此问题

1) 编辑布局的HTML和CSS,以便为
标签
留出更多空间

2) 编辑jQuery Validate插件的回调函数/选项,以便在元素为
单选
复选框
时,以不同的方式放置
标签


3) 1和2的一些组合。

我通过添加
errorPlacement
参数来验证得到了解决方案。以下是解决方案:

errorPlacement: function(error, element) {
  if (element.attr("name") == "tnc")
    error.appendTo($('#lbl-tnc'));
  else
    error.insertAfter(element);
}
我将HTML更改如下:

<label class="checkbox inline" for="tnc" id="lbl-tnc">
  <input type="checkbox" name="tnc" id="tnc">I Agree to <a href="#">Terms & Conditions</a>
</label>

我同意

检查生成的标记是否与主题中的预期标记相同。使用web inspector或Firebug查找错误应用的规则。将您的标记与预期标记进行比较,使用检查工具:)看起来元素的宽度设置得非常小,因此文本分成多行。尝试将
空白:pre
添加到包含错误消息的元素的格式中。@Prash278您尝试过为标签设置宽度吗?同意我们的条款和条件,向我们注册。@arjucc不,我没有设置任何样式。我还检查了css类,它不包含宽度属性。