【问题标题】:Ignore default text in jquery validation plugin忽略 jquery 验证插件中的默认文本
【发布时间】:2013-02-05 22:16:14
【问题描述】:

我正在使用 jquery 验证插件 (bassistance.de/jquery-plugins/jquery-plugin-validation/id) 进行一些客户端表单验证。该插件运行良好,但我不知道如何强制它忽略文本区域中的一些默认文本。

<form action="#" id="landingForm">
<p>
<textarea id="askTexarea" class="required textarea" name="askTextarea" cols="7" rows="3">THIS IS THE DEFAULT TEXT</textarea>
</p>
<p>
<label for="askExpert">Pick an Expert:</label>
<select id="askExpert" class="required select" name="askExpert">
    <option></option>
    <option>CHOICE 1</option>
    <option>CHOICE 2</option>
    <option>CHOICE 3</option>
</select>
</p>
<p class="email">
<label for="askEmail">Enter your email address:</label>
<input id="askEmail" class="required email" name="email" />
</p>
<p class="submit">
<input class="submit" type="submit" value="Ask a Question" />
</p>
</form>

您会注意到在第一个文本区域中有默认文本。如果用户使用此默认文本提交表单或文本区域为空,是否有人知道如何使验证插件忽略此文本并认为它无效?

提前感谢您的帮助!

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    您可以添加一个custom method 来检查默认文本:

    $.validator.addMethod("defaulText", function(value, element) {
      return this.optional(element) || element[0].defaultText != value;
    }, "Please replace the default text");
    

    尚未测试此实现 - 如果 element[0].defaultText 没有给出正确的值,请将其替换为内联字符串。

    【讨论】:

      【解决方案2】:

      只需在插件代码旁边添加:

      if ($('#askTextarea')[0].value=="THIS IS THE DEFAULT TEXT") // 这里的代码无效

      【讨论】:

      • 我一直在尝试这个,但它似乎给出了一个语法错误。还有其他建议吗?感谢您的帮助!
      • 这是我目前拥有的js。如果您发现任何问题以及我应该将您建议的行放在哪里,请告诉我。再次感谢你的帮助! $(document).ready(function () { $('#landingForm').validate({ rules: { askEmail: { required: true, email: true, }, askTextarea: { required: true, }, askExpert: {必需:true }, }, }); });
      • 你知道,你最好把它放在验证之前,这样默认文本就会失效: if ($('#askTextarea')[0].value=="THIS IS THE DEFAULT TEXT ") $('#askTextarea')[0].value="";
      【解决方案3】:

      从我在您的问题中读到的内容来看,您试图对“默认文本”执行的操作是显示一个 占位符 - 提示用户输入文本,但不是一个值发送到服务器。

      在这种情况下,您最好使用 HTML5 占位符属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-19
        • 2013-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多