Layui.自定义验证&Ajax

Ajax检测是否有重复数JavaScript

错误示范(我第一次是这么写的)

//这种方式不可用,哪怕return了提示语,还是会提交表单

//自定义验证规则
form.verify({
	submitFormCheckHostName: function (value) {
		debugger;
		//return value;
		if (value) {
			var hostName = laylj.string.trim(value);
			loadingIndexTemp = laylj.layerMsg.loading();
			$.ajax({
				type: 'get',
				url: "/api/promotionsettinghost/list/hostname",
				dataType: "json",
				async: false,
				data: { "hostName": encodeURIComponent(hostName) },
				success: function (mes) {
					layer.close(loadingIndexTemp);
					if (mes && mes.IsSuccess && mes.Data && mes.Data.length > 0) {
						var hostArr = [];
						$.each(mes.Data, function (i, item) {
							hostArr.push(item.HostName);
						})
						return "该域名已经存在 " + hostArr.join();
					}
				}, error: function () {
					layer.close(loadingIndexTemp);
				}
			});
		}
	}
});

正确写法

//修改后的代码.

//自定义验证规则
form.verify({
	submitFormCheckHostName: function (value) {
		debugger;
		if (value) {
			//修改返回项
			var checkResult = "";
			var hostName = laylj.string.trim(value);
			loadingIndexTemp = laylj.layerMsg.loading();
			$.ajax({
				type: 'get',
				url: "/api/promotionsettinghost/list/hostname",
				dataType: "json",
				async: false,
				data: { "hostName": encodeURIComponent(hostName) },
				success: function (mes) {
					layer.close(loadingIndexTemp);
					if (mes && mes.IsSuccess && mes.Data && mes.Data.length > 0) {
						var hostArr = [];
						$.each(mes.Data, function (i, item) {
							hostArr.push(item.HostName);
						})
						//不直接返回,而是赋值 => checkResult
						checkResult = "该域名已经存在 " + hostArr.join();
					}
				}, error: function () {
					layer.close(loadingIndexTemp);
				}
			});
			//最终返回
			return checkResult;
		}
	}
});
posted @   zh89233  阅读(371)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2016-12-28 转→js数组遍历 千万不要使用for...in...
点击右上角即可分享
微信分享提示