当前位置: 首页 > 知识库问答 >
问题:

最有效的表单验证

蒋鹏鹍
2023-03-14

我正在寻找表单验证的最有效方法,我想知道我目前的植入是否不仅是可能的,而且在动态缩放时是可持续的。看看吧:

(警告:忽略愚蠢的HTML类名)

// --------- Validate Required Fields ----------
$('.valid8-form').submit(function() {
  // Array to Store Errors
  $('.valid8-errors').html('');
  var formValidationErrors = [];

  if ($('.valid8-requried').val() === '' || $('.valid8-requried').val() === null) {
    formValidationErrors.push('The ' + $('.valid8-requried').name + ' field is required!');
}

  // Place Errors In List on DOM
  for (var i = 0; i < formValidationErrors.length; i++) {
    $('<li>', {
      text: formValidationErrors[i]
    }).appendTo($('.valid8-errors'));
  }
});

是否有一种方法可以在输入中将forEach空白字段添加到数组中的错误字符串?现在,它只在数组中抛出一个字符串,作为它命中的第一个空白字段。

共有1个答案

终洛华
2023-03-14

未来的可伸缩性考虑的一件事是维护验证规则集和表单设计的容易性。这是一个很好的话题,因为没有标准的方法来做到这一点,但是很多想法和对“最好”的追求是一个很好的话题。

我做了一些工作,使用JSON定义表单,然后编写一个函数为我呈现表单。这会将有关表单的信息(包括验证规则)整合到易于读取和维护的对象定义中,如果需要,可以从数据源加载该对象定义。

您可以看到我在这里寻求标准的问题中提到的一个例子:是否有一种被接受的或新兴的JSON表单和字段定义格式?

请参阅此处给出的表单定义上的验证属性。

所以,一个很好的问题是:我们是在寻找脚本性能效率,还是在寻找总所有权效率,在那里很容易做出改变?我认为如果您使用jQuery这样的框架来处理DOM的询问,前者就不那么重要了。在这方面,效率在很大程度上得到了重视。这就留下了一个问题:当它远远超出我们的预期时,保持它的最简单的方法是什么?我认为JSON方法是一个值得尝试的好方法。

至于脚本效率,我可以通过基准测试告诉您,for(var I=0…远远快于for(objs中的var obj),因此在这方面,您已经实现了脚本效率。

要提高效率,可以做的一件事是缓存DOM引用。

var verrors = $('.valid8-errors');
$('.valid8-form').submit(function() {
  // Array to Store Errors
  verrors.html('');
  var vrequired = $('.valid8-required');
  var formValidationErrors = [];

  if (vrequired.val() === '' || vrequired.val() ===      null) {
    formValidationErrors.push('The ' + vrequired.name + ' field     is required!');
}

  // Place Errors In List on DOM
  for (var i = 0; i < formValidationErrors.length; i++) {
    $('<li>', {
      text: formValidationErrors[i]
    }).appendTo(verrors);
  }
});

这可以防止对DOM的多个查询找到同一个对象,并且应该会稍微提高性能,尤其是对于较旧的浏览器。

 类似资料:
  • 问题内容: 我需要一个简单的php库,该库可用于轻松地将规则和字段名传递给它,然后可以轻松执行验证。还应该有一种简单的方法来检索错误。 有什么建议么? 问题答案: 我编写了自己的简单类,将多年来收集的一些正则表达式与PHP的sanatize和filter函数结合在一起。 现在,这需要在此处看到的某些javascript的mootools,但是您可以轻松地将其更改为您喜欢的javascript框架。

  • 本文向大家介绍最常用的jQuery表单验证(简单),包括了最常用的jQuery表单验证(简单)的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上所述是小编给大家介绍的最常用的jQuery表单验证(简单),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 当post请求到达控制器方法时,@Valid注释不会触发验证。我该怎么办? 父控制器: 布局控制器: 请求进入的控制器: 百里香叶表格: 实体: 结果如何。getErrorCount()始终为0,即使我发布了一个空白表单。我曾尝试在谷歌上添加@NotNull和其他很多东西,但没有成功。

  • 问题内容: 我有一个带有jquery验证的表单。提交表单后,我通过Ajax加载相同的表单。我的问题是jquery验证不适用于ajax加载的表单。我已经尝试了一些有关堆栈溢出的答案,但是不幸的是它没有用。 谢谢阿兹 问题答案: 在 功能上使用 。。 例:

  • 问题内容: 我在MVC 4和AngularJS(+ twitter bootstrap)中有一个项目。我通常在MVC项目中使用“ jQuery.Validate”,“ DataAnnotations”和“ Razor”。然后,在我的web.config中启用这些密钥,以在客户端上验证模型的属性: 例如,如果我的模型中有以下内容: 使用此Cshtml: html结果将是: 但是现在当我使用Angul

  • 另一种可能是首先调用servlet,然后将JSP文件作为视图调用。但这是一个简洁的特性,在servlet中执行这一功能需要通过调用request.getParameter()手动实例化对象,这也意味着大量重复WRT。因此必须首先使用JSP。我可以使用一个JSP,然后转发到servlet,然后转发到“view”JSP,但对于JSP的一个“特性”来说,这似乎有点乏味。所以尽管付出了很多努力,我仍然在寻