设置lay-verify也允许传空

This commit is contained in:
walkor 2023-05-16 15:54:43 +08:00
parent 425113a0d7
commit 09d4686437
5 changed files with 49 additions and 5 deletions

View File

@ -808,15 +808,21 @@ EOF;
$props = Util::getControlProps($control, $info['control_args']); $props = Util::getControlProps($control, $info['control_args']);
// 增加修改记录验证必填项 // 增加修改记录验证必填项
if ($filter == 'form_show' && !isset($props['lay-verify']) && !$columns[$key]['nullable'] && $default === null && ($field !== 'password' || $type === 'insert')) { if ($filter == 'form_show' && !$columns[$key]['nullable'] && $default === null && ($field !== 'password' || $type === 'insert')) {
if (!isset($props['lay-verify'])) {
$props['lay-verify'] = 'required'; $props['lay-verify'] = 'required';
// 非类似字符串类型不允许传空
} elseif (!in_array($columns[$key]['type'], ['string', 'text', 'mediumText', 'longText', 'char', 'binary', 'json'])
&& strpos($props['lay-verify'], 'required') === false) {
$props['lay-verify'] = 'required|' . $props['lay-verify'];
}
} }
// 增加记录显示默认值 // 增加记录显示默认值
if ($type === 'insert' && !isset($props['value']) && $default !== null) { if ($type === 'insert' && !isset($props['value']) && $default !== null) {
$props['value'] = $default; $props['value'] = $default;
} }
// 表单不显示主键 // 主键是自增字段或者表单是更新类型不显示主键
if ($filter == 'form_show' && $primary_key && $field == $primary_key && $auto_increment) { if ($primary_key && $field == $primary_key && (($type == 'insert' && $auto_increment) || $type == 'update')) {
continue; continue;
} }
// 查询类型 // 查询类型

View File

@ -1020,6 +1020,15 @@ EOF;
$js $js
//提交事件 //提交事件
layui.use(["form", "popup"], function () { layui.use(["form", "popup"], function () {
// 字段验证允许为空
layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
url: [/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
number: [/(^$)|^\d+$/,'只能填写数字'],
date: [/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
identity: [/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
});
layui.form.on("submit(save)", function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
@ -1130,6 +1139,15 @@ EOF;
//提交事件 //提交事件
layui.use(["form", "popup"], function () { layui.use(["form", "popup"], function () {
// 字段验证允许为空
layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
url: [/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
number: [/(^$)|^\d+$/,'只能填写数字'],
date: [/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
identity: [/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
});
layui.form.on("submit(save)", function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({

View File

@ -40,6 +40,17 @@
<?=$form->js(3)?> <?=$form->js(3)?>
layui.use(["form", "popup"], function () { layui.use(["form", "popup"], function () {
// 字段验证允许为空
layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
url: [/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
number: [/(^$)|^\d+$/,'只能填写数字'],
date: [/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
identity: [/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
});
//提交事件 //提交事件
layui.form.on("submit(save)", function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({

View File

@ -76,6 +76,15 @@
}); });
layui.use(["form", "popup"], function () { layui.use(["form", "popup"], function () {
// 字段验证允许为空
layui.form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
url: [/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
number: [/(^$)|^\d+$/,'只能填写数字'],
date: [/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
identity: [/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
});
//提交事件 //提交事件
layui.form.on("submit(save)", function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({

View File

@ -237,7 +237,7 @@
} }
}); });
// 字段允许为空 // 字段验证允许为空
form.verify({ form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"], phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"], email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],