mirror of https://github.com/layui/layui
调整 form 内置校验规则,仅当非空时进行校验,避免强制携带必填(`required`)的校验规则
parent
aeb16273ae
commit
039e3bf30d
|
@ -35,7 +35,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
'链接格式不正确'
|
'链接格式不正确'
|
||||||
],
|
],
|
||||||
number: function(value){
|
number: function(value){
|
||||||
if(!value || isNaN(value)) return '只能填写数字'
|
if(isNaN(value)) return '只能填写数字';
|
||||||
},
|
},
|
||||||
date: [
|
date: [
|
||||||
/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,
|
/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,
|
||||||
|
@ -861,7 +861,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
var verifyStr = othis.attr('lay-verify') || '';
|
var verifyStr = othis.attr('lay-verify') || '';
|
||||||
var vers = verifyStr.split('|');
|
var vers = verifyStr.split('|');
|
||||||
var verType = othis.attr('lay-vertype'); // 提示方式
|
var verType = othis.attr('lay-vertype'); // 提示方式
|
||||||
var value = othis.val();
|
var value = $.trim(othis.val());
|
||||||
|
|
||||||
othis.removeClass(DANGER); // 移除警示样式
|
othis.removeClass(DANGER); // 移除警示样式
|
||||||
|
|
||||||
|
@ -884,12 +884,13 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
|
|
||||||
errorText = errorText || rule[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 && (thisVer === 'required' || (value && thisVer !== 'required'))){
|
||||||
// 提示层风格
|
// 提示层风格
|
||||||
if(verType === 'tips'){
|
if(verType === 'tips'){
|
||||||
layer.tips(errorText, function(){
|
layer.tips(errorText, function(){
|
||||||
|
@ -904,7 +905,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
layer.alert(errorText, {title: '提示', shadeClose: true});
|
layer.alert(errorText, {title: '提示', shadeClose: true});
|
||||||
}
|
}
|
||||||
// 若返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示
|
// 若返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示
|
||||||
else if(/\bstring|number\b/.test(typeof errorText)){
|
else if(/\b(string|number)\b/.test(typeof errorText)){
|
||||||
layer.msg(errorText, {icon: 5, shift: 6});
|
layer.msg(errorText, {icon: 5, shift: 6});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue