Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证许多字段_Javascript_Jquery - Fatal编程技术网

Javascript验证许多字段

Javascript验证许多字段,javascript,jquery,Javascript,Jquery,我试图通过javascript/jQuery进行几次验证。我需要知道我能用什么样的逻辑 我有大约15个字段要验证。我在想是否可以用返回值true或false来验证每个字段。然后我会检查返回的值是否为false。如果是,则不验证表单。这有意义吗 或者,对于一个字段又一个字段,我必须经历一组if-else嵌套条件吗 PS:我不想使用jQueryValidate插件,因为在我的表单中没有太多复杂的东西 让我知道你认为我应该怎么做 谢谢。是的,这是一种方法,但显然您必须将结果包含在某种数据结构中。您可以

我试图通过javascript/jQuery进行几次验证。我需要知道我能用什么样的逻辑

我有大约15个字段要验证。我在想是否可以用返回值true或false来验证每个字段。然后我会检查返回的值是否为false。如果是,则不验证表单。这有意义吗

或者,对于一个字段又一个字段,我必须经历一组if-else嵌套条件吗

PS:我不想使用jQueryValidate插件,因为在我的表单中没有太多复杂的东西

让我知道你认为我应该怎么做


谢谢。

是的,这是一种方法,但显然您必须将结果包含在某种数据结构中。您可以有一个对象,它是key->value,其中key是您要验证的字段的id,然后根据您的验证,该值是true还是false。然后只需迭代对象并检查假值

然后我会添加一个css类

$('.required').each(function (i) {

});

可以使用类似于错误哈希的对象

$('#target').submit(function (e) {
  var errors = {};

  //No field should be blank
  $('.required').each(function () {
    if (!$.trim($(this).val())) errors[$(this).prev('label').text()] = 'is blank';
  });
  //Don't submit form on errors
  //Show errors
  if (!jQuery.isEmptyObject(errors)) {
    $('.error').show().html("<p>Form couldn't be submitted because:</p>");
    $('.error').append(
    $.map(errors, function (type, error) {
      return $('<p>', {
        text: error + '  ' + type
      }).get();
    }));
    // Prevent the form from being submitted
    return false;
  }
  $('.error').hide();
});
$(“#目标”).submit(函数(e){
var错误={};
//任何字段都不应为空
$('.required')。每个(函数(){
如果(!$.trim($(this.val())错误[$(this.prev('label')).text()]='为空';
});
//不要在出现错误时提交表单
//显示错误
如果(!jQuery.isEmptyObject(错误)){
$('.error').show().html(表单无法提交,因为:

); $('.error')。追加( $.map(错误,函数(类型,错误){ 返回$(“”{ 文本:错误+“”+类型 }).get(); })); //阻止提交表单 返回false; } $('.error').hide(); });

这是一个无耻的插头,但是你试过了吗?我正在积极开发它,我知道至少还有一个人在使用它(耶!)。这可能会解决你的一些复杂问题。另外,如果你能用你的复杂问题更新你的问题,我可以告诉你如何在regula中做到这一点。它将使您不必编写自己的验证

regula还以约束冲突数组的形式返回其验证结果,因此您可以看到哪个元素未通过验证(以及其他内容)


如果您感兴趣,可以提供有关regula功能的更多信息。

我们可以获取您的表单示例吗?您可以选择任何表单示例。我需要知道如何验证几个字段的逻辑。如果不是,我使用嵌套的吗?或者分别验证每个字段?我想我可能需要分别验证每个字段,因为如果表单无法验证,那么我需要告诉具体的错误消息。我想您刚刚回答了自己的问题;)如果有错误,只需将该值作为错误消息,如果通过,只需将该值设置为true。在本例中,您可以只执行if(value!=true){your code…}$.each(validationElements,function(key,value){{if(value!=true){your code…});