【问题标题】:Simplest JQuery validation rules example最简单的 JQuery 验证规则示例
【发布时间】:2010-10-13 14:45:21
【问题描述】:

以下 HTML 表单成功地利用了 jQuery 的表单验证,如果留空,则在表单字段的右侧显示“此字段为必填项”,如果输入的字符少于 2 个,则显示“请输入至少 2 个字符”。但是,我不想使用“cname”表单输入字段上的 class 和 minlength 属性来指定验证元数据,而是使用 jQuery 的“rules”API,其中规则在 validate 函数的主体中指定。提前致谢:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="/lib/js/jquery.js"></script>
  <script src="/lib/js/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){$("#commentForm").validate(
    /*
     rules/messages here
    */
    );}
    );
  </script>
</head>
<body>

 <form id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
   <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
</body>
</html>

【问题讨论】:

  • 我觉得很有帮助
  • 结束这个问题是“有问题的”
  • 很抱歉,如果投票重新提出我的问题似乎是自私的。如果我因提出一个已关闭但仍获得 100K 浏览量(截至 2013 年 7 月不到 12K 浏览量)的问题而获得新的“白金”徽章,我将撤销我的投票。即使这个问题没有更多的答案,我认为它不应该有作为一个封闭问题的“耻辱”。
  • @GeorgeJempty - 因为看起来我们都因为关闭 this question 而被否决了,所以请保持平衡:)
  • @LittleBobbyTables 啊,好吧,我以前从来没有成为恶意投票的受害者(或者如果我不知道的话)

标签: javascript jquery validation declarative


【解决方案1】:
rules: {
    cname: {
        required: true,
        minlength: 2
    }
},
messages: {
    cname: {
        required: "<li>Please enter a name.</li>",
        minlength: "<li>Your name is not long enough.</li>"
    }
}

【讨论】:

  • 您好,感谢您的努力。但是我无法让它工作。实际上,我之前曾多次尝试过类似的事情,这就是我在 SO 上发布的原因。正在编辑原始问题以指示我已上传到我的网站之一的 HTML 文件的位置
  • 好的,规则块的末尾需要一个逗号,在消息块之前,两个块都需要花括号。这纠正了简单的 Javascript 错误,我已经在线更新了 HTML-2 文件,但验证仍然不起作用:( 我确定它很简单,只需要通过这个
【解决方案2】:

this blog post 中包含的示例可以解决问题。

【讨论】:

【解决方案3】:
$("#commentForm").validate({
    rules: {
     cname : { required : true, minlength: 2 }
    }
});

应该是这样的,我刚刚在编辑器中输入了这个,所以可能是一两个语法错误,但你应该能够遵循模式和documentation

【讨论】:

    【解决方案4】:

    标记中的输入缺少"type",输入(我假设的文本)具有属性name="name"ID="cname",Ayo 提供的代码调用名为“cname”的输入*它应该是“名字”.

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 2019-07-15
      相关资源
      最近更新 更多