如何使用JS中的条件连接消息或仅在一个警报框中构造消息

aldrin27

我为这些仅在一个警报框中构造消息而烦恼。我已经尽力构建了,但这就是我所拥有的。希望有人能帮助我并为您的答案提供一些解释,因为我对级联以及我做错了的事情感到困惑。

代码:

$(function(){
   var len = $('#groupContainer > div').length;
   var data = [];

   for(var i=0; i < len; i++){

      var number = $('#name_' + [i + 1]);
      var date = $('#date_' + [i + 1]);
      var count = i + 1;
      var message ="";

      var a = number.map(function(){
              return this.value;
      });

      var b = date.map(function(){
              return this.value;
       });

        var newObj = {Name: a[0], Date: b[0]}
                data.push(newObj);
        }

        var message = "";
        var ErrInGroup = false;

        for(var i = 0; i < data.length; i++)
        {
          for(var d in data[i]) {

            if(data[i].hasOwnProperty(d)) {
                 message += 'Group: ' + [i + 1] + '\n'; 
                 if(data[i][d] == "" || data[i][d] == null){
                           message += d + ' is required!\n';
                 }

                 if(d == "Date") {
                   if(data[i][d].length != 10 && data[i][d] != "") {
                       message += 'Invalid Date!\n';
                   }
                 }

             }
          }
        }

     if(message){
         alert(message);
      }

});

预期产量:

如果所有字段为空 如果仅第一个字段为空 如果该字段之一不为空 如果有无效的日期

小提琴演示

注意:如果!=到10,则日期的长度为10,则它是无效的。

迪内什·帕特拉(Dinesh Patra)

请检查 [

$(function(){

	var errorObj = {
    	group: {},
    	hasError: false
	};

	function errorObjMange(groupNo, type, msg) {

		errorObj.hasError = true;
		groupNo = groupNo.toString();
		if (!errorObj.group[groupNo]) {
			errorObj.group[groupNo] = {};
		}

		errorObj.group[groupNo][type] = msg;
	}

	function alertError() { 
		var priority = {
			"1": new Array(), // Invalid date
			"2": new Array(), // empty name and inavlid date
			"3": new Array(), // empty naem and empty date
			"4": new Array(), // only empty name
			"5": new Array(), // only empty DATE
		} 

		for (var groupIndex in errorObj.group) {
			var group = errorObj.group[groupIndex];
			if (!group.emptyName && !group.emptyDate && group.invalidDate) {
				priority["1"].push(groupIndex);
			}

			if (group.emptyName && !group.emptyDate && group.invalidDate) {
				priority["2"].push(groupIndex);
			}

			if (group.emptyName && group.emptyDate  && !group.invalidDate) {
				priority["3"].push(groupIndex);
			}

			if (group.emptyName && !group.emptyDat && !group.invalidDate) {
				priority["4"].push(groupIndex);
			}

			if (!group.emptyName && group.emptyDate && !group.invalidDate) { 
				priority["5"].push(groupIndex);
			}

		}

		var groupStr = "Group: ";
		var msg = '';

		if (priority["3"].length) {
			groupStr += priority["3"].toString();
			msg = groupStr + '\n'
			    + 'Name is required\n'
			    + 'Date is required\n'; 
		} else if (priority["2"].length) {
			groupStr += priority["2"].toString();
			msg = groupStr + '\n'
			    + 'Name is required\n'
			    + 'Invalid Date\n';
		}  else if (priority["4"].length || priority["5"].length) {
            msg = '';
            
            if (priority["4"].length) {
                
				groupStr = 'Group :' + priority["4"].toString(); 
				msg += groupStr + '\n'
			    	+ 'Name is required\n'; 
            }
            
            if (priority["5"].length) {
				groupStr = 'Group :' + priority["5"].toString(); 
					msg += groupStr + '\n'
			    		+ 'Date is required\n'; 
                
            } 
            
		}  else if (priority["1"].length) {
			groupStr += priority["1"].toString(); 
			msg = groupStr + '\n'
			    + 'Invalid Date\n'; 
		}
		console.log();
		alert(msg);
	}

	// Count number of groups we have.
	var len = $('#groupContainer > div').length;
	var data = [];
	


	// For each given group
	for(var i=0; i < len; i++){

		// Get the values
    	var number = $('#name_' + [i + 1]);
   	 	var date = $('#date_' + [i + 1]); 
   	 	var a = number.map(function(){
    		return this.value;
		});

		var b = date.map(function(){
    		return this.value;
		});

		var newObj = {Name: a[0], Date: b[0]};
		data.push(newObj);        	
	}

	var message = "";


	var ErrInGroup = false;
	
	for(var i = 0; i < data.length; i++) {
    	haveErrorInGroup = false;
        
    	
    	for(var d in data[i])  {

       		if(data[i].hasOwnProperty(d)) {
           		// Its because you are doing the 
                // below line.
            	//message += [i + 1] + '\n';
            	
            
            	if(data[i][d] == "" || data[i][d] == null){

            		if (d == 'Name') {
            			errorObjMange((i+1), 'emptyName', (d + ' is required!\n'));
            		}

            		if (d == 'Date') {
            			errorObjMange((i+1), 'emptyDate', (d + ' is required!\n'));
            		}
            	}
           
            if(d == "Date" && !(data[i][d] == "" || data[i][d] == null))  {
                 if(!(new Date(data[i][d]))
                    || !(/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(data[i][d].trim()))) {
                    message += 'Invalid Date!\n';
                	errorObjMange((i+1), 'invalidDate',  'Invalid Date!\n');
                	                            
                }
            } 
        }
    }

}

if(errorObj.hasError){ 
	alertError();
    //console.log(errorObj);
}
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
		<div id="groupContainer">
    <div id ="profileGroup1">
        <div class="item">
            Name1: <input type="text" id="name_1" value="asdf">
        </div>
        <div class="item">
           Date1: <input type="text" id="date_1" value="01/50/48">
        </div>
    </div>
    <div id ="profileGroup2">
        <div class="item">
            Number2: <input type="text" id="name_2" value="">
        </div>
        <div class="item">
            Date2: <input type="text" id="date_2" value="">
        </div>
    </div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JSP的警报/消息框中显示图像

来自分类Dev

如何在JSP的警报/消息框中显示图像

来自分类Dev

烧瓶:在警报框中显示Flash消息

来自分类Dev

警报框中的Codeigniter验证消息

来自分类Dev

如何使用Android在不吐司的情况下在设置错误消息中制作一个“编辑文本”框(“更改”对话框)?

来自分类Dev

使用熊猫有条件地在python中连接一个数据框

来自分类Dev

仅在第一个h:messages组件中显示全局面孔消息

来自分类Dev

如何将两个单独的随机项目从2个列表框中显示到一个消息框中?

来自分类Dev

如何创建一个超过160行的消息框(10836),以根据选择的行在多列中显示文本?

来自分类Dev

在Vue JS中单击按钮后,如何隐藏警报并显示另一个警报?

来自分类Dev

根据下拉框中的各种选择来编译条件警报消息

来自分类Dev

Javascript:如何使用循环功能在一个警报框中显示所有用户输入?

来自分类Dev

是否有一个消息框显示Python 2.7中的可复制文本?

来自分类Dev

单击UiPath中的“保存”按钮后如何识别警报框或错误消息框?

来自分类Dev

我在android studio中创建一个警报框

来自分类Dev

在if语句中如何将所有消息框连接成一个?C#

来自分类Dev

OS X:使用键盘在消息窗口/消息框中选择一个选项?

来自分类Dev

如何在另一个活动中打开警报对话框

来自分类Dev

如何使用 Akka.Net Cluster 使实体仅在一个节点上并使消息从所有节点到达那里

来自分类Dev

仅在RabbiqMQ Direct Exchange中将消息传递到绑定到路由键的一个队列中

来自分类Dev

如何仅允许在Subversion中的一个目录中编辑已提交的日志消息

来自分类Dev

SlimerJS窗口未打开,而是在警报框中显示消息

来自分类Dev

消息附加在警报对话框中

来自分类Dev

成功注册后如何在主页中显示成功消息(不是警报框)

来自分类Dev

如何仅在使用 vba 在特定单元格中按 Ctrl+S(保存)后显示消息框

来自分类Dev

使用XML在“警报”对话框中设置消息文本外观(Android API级别23)

来自分类Dev

使用XML在“警报”对话框中设置消息文本外观(Android API级别23)

来自分类Dev

获取提交按钮的值作为JavaScript中警报消息的条件

来自分类Dev

如何在app.xaml.cs中启动消息框结果,但如何在另一个.xaml.cs页面上检索结果

Related 相关文章

  1. 1

    如何在JSP的警报/消息框中显示图像

  2. 2

    如何在JSP的警报/消息框中显示图像

  3. 3

    烧瓶:在警报框中显示Flash消息

  4. 4

    警报框中的Codeigniter验证消息

  5. 5

    如何使用Android在不吐司的情况下在设置错误消息中制作一个“编辑文本”框(“更改”对话框)?

  6. 6

    使用熊猫有条件地在python中连接一个数据框

  7. 7

    仅在第一个h:messages组件中显示全局面孔消息

  8. 8

    如何将两个单独的随机项目从2个列表框中显示到一个消息框中?

  9. 9

    如何创建一个超过160行的消息框(10836),以根据选择的行在多列中显示文本?

  10. 10

    在Vue JS中单击按钮后,如何隐藏警报并显示另一个警报?

  11. 11

    根据下拉框中的各种选择来编译条件警报消息

  12. 12

    Javascript:如何使用循环功能在一个警报框中显示所有用户输入?

  13. 13

    是否有一个消息框显示Python 2.7中的可复制文本?

  14. 14

    单击UiPath中的“保存”按钮后如何识别警报框或错误消息框?

  15. 15

    我在android studio中创建一个警报框

  16. 16

    在if语句中如何将所有消息框连接成一个?C#

  17. 17

    OS X:使用键盘在消息窗口/消息框中选择一个选项?

  18. 18

    如何在另一个活动中打开警报对话框

  19. 19

    如何使用 Akka.Net Cluster 使实体仅在一个节点上并使消息从所有节点到达那里

  20. 20

    仅在RabbiqMQ Direct Exchange中将消息传递到绑定到路由键的一个队列中

  21. 21

    如何仅允许在Subversion中的一个目录中编辑已提交的日志消息

  22. 22

    SlimerJS窗口未打开,而是在警报框中显示消息

  23. 23

    消息附加在警报对话框中

  24. 24

    成功注册后如何在主页中显示成功消息(不是警报框)

  25. 25

    如何仅在使用 vba 在特定单元格中按 Ctrl+S(保存)后显示消息框

  26. 26

    使用XML在“警报”对话框中设置消息文本外观(Android API级别23)

  27. 27

    使用XML在“警报”对话框中设置消息文本外观(Android API级别23)

  28. 28

    获取提交按钮的值作为JavaScript中警报消息的条件

  29. 29

    如何在app.xaml.cs中启动消息框结果,但如何在另一个.xaml.cs页面上检索结果

热门标签

归档