Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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_Function_Validation - Fatal编程技术网

Javascript 检查对象的空白值并显示错误

Javascript 检查对象的空白值并显示错误,javascript,jquery,function,validation,Javascript,Jquery,Function,Validation,我试图找出如何检查对象中的任何值是否为空,然后显示相应的错误 表单输入如下所示: <form role="form" action="home.php" class="addLaneForm" id="addLaneForm" name="addLaneForm"> <label for="addlanepartnercode">Partner Co

我试图找出如何检查对象中的任何值是否为空,然后显示相应的错误

表单输入如下所示:

<form role="form" action="home.php" class="addLaneForm" id="addLaneForm" name="addLaneForm">
  <label for="addlanepartnercode">Partner Code</label><span id="addlanepartnercodeError" class="text-danger laneError" style="display:none;"> * </span>
  <input type="text" class="form-control validation" id="addlanepartnercode" placeholder="Enter Partner Code" />

  <label for="addlanepartnername">Partner Name</label><span id="addlanepartnernameError" class="text-danger laneError" style="display:none;"> *  </span>
  <input type="text" class="form-control validation" id="addlanepartnername" placeholder="Enter Partner Name" />

  <label for="addlaneipicy">IPI/CY</label><span id="addlaneipicyError" class="text-danger laneError" style="display:none;"> * </span>
  <select class="form-control validation" id="addlaneipicy">
     <option></option>
     <option value="YES">YES</option>
     <option value="NO">NO</option>
   </select>

   // few more inputs and selects

  <button type="button" class="btn btn-default btn-flat addLaneSubmit" id="addLaneSubmit" name="addLaneSubmit">Add</button>
</form>
我通常检查这些值的方法是冗余的和耗时的

我确实在输入中添加了一个名为“laneError”的类。我试图通过调用函数来显示错误,如下所示:

function showAllErrors(){
  if($(".addLaneForm .validation") == ""){
    $('.laneError').show();
  }
}
首先,我不确定我可以把函数调用放在哪里

但是当我能够调用该函数时,我只能得到要显示的第一个错误,即“addlanepartnercodeError”


必须有一种更简单的方法来检查对象中的值。

您可以使用如下可重用函数:

showErrorMsg(elemId) {
  if($.trim($('#' + elemid).val()) === '') {
    $('#' + elemId + 'Error').show()
    return true;
  }
  return false;
}
所以你的代码应该是:-

$('#addLaneSubmit').on('click', function(e){
  e.preventDefault();
  let Error = false,
  addlane = new ProcessLane();

  $('form')
    .find("input[id^='add']")
    .each((i , e){
      if(!Error) {
        Error = showErrorMsg($(e).attr('id')) 
      }
   })

   if(!Error) {
     // Your form has no errors , do your thing here
     addlane.addLaneProcessing(addlanecriteria);
   }
});

我在这一部分遇到了一个错误:“#add']@JohnBeasley已经直接键入了它,现在就测试它,基本上,它应该是
“input[id^='add']”
,双引号和no
,每个循环应该有
(I,e)
传递错误:elemid不是defined@JohnBeasley事实并非如此,你能在这里发布你使用的JS和演示html代码,保存并粘贴生成的链接吗below@JohnBeasley我的错在elemid之前应该有一个
#
$('#addLaneSubmit').on('click', function(e){
  e.preventDefault();
  let Error = false,
  addlane = new ProcessLane();

  $('form')
    .find("input[id^='add']")
    .each((i , e){
      if(!Error) {
        Error = showErrorMsg($(e).attr('id')) 
      }
   })

   if(!Error) {
     // Your form has no errors , do your thing here
     addlane.addLaneProcessing(addlanecriteria);
   }
});