optimizing code

This commit is contained in:
贤心 2022-07-09 19:04:49 +08:00
parent 831a2af0c9
commit 90d1542205
2 changed files with 27 additions and 41 deletions

View File

@ -16,7 +16,6 @@
</style> </style>
</head> </head>
<body> <body>
<form class="layui-form" method="get" lay-filter="top" id="AAA"> <form class="layui-form" method="get" lay-filter="top" id="AAA">
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-inline"> <div class="layui-input-inline">
@ -264,9 +263,7 @@
<br><br><br> <br><br><br>
<script src="../src/layui.js"></script> <script src="../src/layui.js" src1="https://cdn.staticfile.org/layui/2.6.8/layui.js"></script>
<!-- <script src="../build/lay/dest/layui.all.js"></script> -->
<script> <script>
layui.use(['form', 'util', 'laydate'], function(){ layui.use(['form', 'util', 'laydate'], function(){
@ -288,6 +285,7 @@
/^\d+\.\b\d{2}\b$/ /^\d+\.\b\d{2}\b$/
,'金额必须为小数保留两位' ,'金额必须为小数保留两位'
] ]
//,n: [/^(\d)+$/, '数字校验']
}); });
/* /*

View File

@ -700,24 +700,28 @@ layui.define('layer', function(exports){
// 遍历元素绑定的验证规则 // 遍历元素绑定的验证规则
layui.each(vers, function(_, thisVer){ layui.each(vers, function(_, thisVer){
var isTrue //是否命中校验 var isTrue; // 是否命中校验
,errorText = '' //错误提示文本 var errorText = ''; // 错误提示文本
,isFn = typeof verify[thisVer] === 'function'; var rule = verify[thisVer]; // 获取校验规则
// 匹配验证规则 // 匹配验证规则
if(verify[thisVer]){ if(rule){
var isTrue = isFn ? errorText = verify[thisVer](value, item) : !verify[thisVer][0].test(value) var isTrue = typeof rule === 'function'
? errorText = rule(value, item)
: !rule[0].test(value);
// 是否属于美化替换后的表单元素 // 是否属于美化替换后的表单元素
,isForm2Elem = item.tagName.toLowerCase() === 'select' || /^checkbox|radio$/.test(item.type); var isForm2Elem = item.tagName.toLowerCase() === 'select' || (
/^checkbox|radio$/.test(item.type)
);
errorText = errorText || verify[thisVer][1]; errorText = errorText || rule[1];
if(thisVer === 'required'){ if(thisVer === 'required'){
errorText = othis.attr('lay-reqText') || errorText; errorText = othis.attr('lay-reqText') || errorText;
} }
//如果是必填项或者非空命中校验,则阻止提交,弹出提示 // 若为必填项或者非空命中校验,则阻止提交,弹出提示
if(isTrue){ if(isTrue){
// 提示层风格 // 提示层风格
if(verType === 'tips'){ if(verType === 'tips'){
@ -732,7 +736,7 @@ layui.define('layer', function(exports){
} else if(verType === 'alert') { } else if(verType === 'alert') {
layer.alert(errorText, {title: '提示', shadeClose: true}); layer.alert(errorText, {title: '提示', shadeClose: true});
} }
//如果返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示 //返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示
else if(/\bstring|number\b/.test(typeof errorText)){ else if(/\bstring|number\b/.test(typeof errorText)){
layer.msg(errorText, {icon: 5, shift: 6}); layer.msg(errorText, {icon: 5, shift: 6});
} }
@ -741,33 +745,17 @@ layui.define('layer', function(exports){
(isForm2Elem ? othis.next().find('input') : item).focus(); (isForm2Elem ? othis.next().find('input') : item).focus();
}, 7); }, 7);
/*
// 非移动设备自动定位焦点
if(!device.mobile){
setTimeout(function(){
(isForm2Elem ? othis.next().find('input') : item).focus();
}, 7);
} else { // 移动设备定位
$dom.scrollTop(function(){
try {
return (isForm2Elem ? othis.next() : othis).focus().offset().top - 15
} catch(e){
return 0;
}
}());
}
*/
othis.addClass(DANGER); othis.addClass(DANGER);
return stop = true; return stop = true;
} }
} }
}); });
if(stop) return stop; if(stop) return stop;
}); });
return !stop; return !stop;
} };
// 提交表单并校验 // 提交表单并校验
var submit = Form.prototype.submit = function(filter, callback){ var submit = Form.prototype.submit = function(filter, callback){