H-UI的前端处理验证,判断是否已经存在,比较健全的模板,可以自己添加一些校验
<input type="text" class="input-text" value="${detail.supportingname }" placeholder="" id="S-name" name="name" datatype="usercheck" nullmsg="服务名不能为空" errormsg="格式不正确,请重新输入!">
$(function(){
$("#form-admin-add").Validform({
tiptype:2,
btnSubmit:"#btn_sub",
datatype:{
"headimg":function(gets,obj,curform,regxp){
//参数gets是获取到的表单元素值,obj为当前表单元素,curform为当前验证的表单,regxp为内置的一些正则表达式的引用;
if(!$("input[name='headimg']").val())
return "必须上传图片!";
else{
return true;
}
},
"usercheck":function(gets,obj,curform,regxp){
var supportingnamesx=$("#supportingnamesx").val();
var name=obj.val();
if(name==null){
return "服务名称不能为空";
}else{
if (name.length>16||name.length<2){
return "请填写2到16位任意字符!";
}else{
var flag=false; //必须通过定义,在后面的传递错误信息,不然会不执行
$.ajax({
type:"post",
async: false,
url:"/admin/SupportingService/Update/isName",
data:'name='+name+'&supportingnamesx='+supportingnamesx,
success:function(data){
var obj=eval(data);
obj=eval(obj);
if(obj[0]['isok'] ){
flag = true;
}else{
flag = false;
}
}
});
//仔细看哦!
if(flag==true){
return "配套服务名已存在,请重新输入!";
}else{
return true;
}
}
}
},
"checknumber":function(gets,obj,curform,regxp){
var jiunumber=$("#jiunumber").val();
var number=obj.val();
if(number==null){
return "排序号不能为空!";
}else{
/* var strRegex ="(/^(\+|-)?\d+$/.test( value ))&&value>0";
var re=new RegExp(strRegex); */
if ((/^(\+|-)?\d+$/.test( number ))&&number>0)
{
var flag=false;
$.ajax({
type:"post",
async: false,
url:"/admin/SupportingService/Update/isNumber",
data:'number='+number+'&jiunumber='+jiunumber,
success:function(data){
var obj=eval(data);
obj=eval(obj);
if(obj[0]['isok'] ){
flag = true;
}else{
flag = false;
}
}
});
if(flag==true){
return "排序号已存在,请重新输入!";
}else{
return true;
}
}else{
return "请输入整数哦!";
}
}
}
},
beforeSubmit:function(curform){
var selected = "";
var inputs=document.getElementsByName("isvalid1");
var oshow=document.getElementById("show");
//获取选择器中的值
for(var index=0;index<inputs.length;index++){
if(inputs[index].checked==true){
selected=inputs[index].value;
}
}
ajaxSubmit("/admin/SupportingService/Update?isvalid="+selected,$('#form-admin-add'), function(msg){
var obj=eval(msg);
obj=eval(obj);
var number=$("#number").val();
var name=$("#S-name").val();
if(obj[0]["isok"]){
parent.layer.msg('保存成功!<script>setTimeout("window.location.reload();",1100);<\/script>', {icon: 6,time:1150});
var index = parent.layer.getFrameIndex(window.name);
parent.$('.btn-refresh').click();
parent.layer.close(index);
}else{
parent.layer.msg('添加失败,请重试!',{icon: 5,time:3000});
}
});
}
});
});
H-UI的前端处理验证,判断是否已经存在,比较健全的模板,可以自己添加一些校验的更多相关文章
- (html)前端如何验证token的合法性来判断用户是否登录?
问题: (html)前端如何验证token的合法性来判断用户是否登录?描述: 1.我使用了JWT的方式,后端生成了一个token,将其返回给前端,前端获取到后每次请求接口都附带上这个token,后端来 ...
- 使用BootStrapValidator来完成前端输入验证
BootStrapValidator可以用于完成基于BootStrap搭建的前端UI中的输入验证,由于本插件完全基于BootStrap因此可以和UI完美的融合在一起.下面直接上图,看看完成后的结果: ...
- ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35
下面的讨论转载自eetop,我选取了一些有意义的讨论,加了我的评注. 楼主zhhzhuawei认为 ===================================== 对于ASIC的前端功能验 ...
- Swagger ui测试中的验证 apikey
Swagger ui测试中的验证 apikey 我们使用swagger 用来呈现webapi的接口,除了可以看到接口的说明和参数说明,还可以进行测试.但是我们的接口通常是有验证的,不是随便就能调用的, ...
- H5前端正则验证插件
最近学习了一个新的关于前端正则验证的插件,‘jQuery.validate.js ’ 要用这个插件 首先得有插件,下载jquery.validate.min.js 和jq文件并引入. 我把它简单的通俗 ...
- 基于H.ui.Admin UI模板的网站管理后台
最近接手一个跨境电商平台开发,客户侧重电商网站UI设计,对管理后台要求不高,由我们决定选哪一款后台模板.找来找去,感觉还是H.ui靠谱一些,主要是这个模板清爽,不需要过多选择.其他的流行后台模板也看了 ...
- 双重保险——前端bootstrapValidator验证+后台MVC模型验证
我们在前端使用BoostrapValidator插件验证最基本的格式要求问题,同时在后台中,使用MVC特有的模型验证来做双重保险.对于boostrapValidator我就不说了,具体请看<bo ...
- js前端数据验证JS工具
var regexEnum = { intege : "^-?[1-9]\\d*$", // 整数 intege1 : "^[1-9]\\d*$", // 正整 ...
- 由前端登录验证,页面跳转,携带headers token引发的思考和尝试
目录 1 前言 2 我的实现方式与存在的问题 3 我想到的解决方案 3.1 前端跳转时携带headers{'token': token} 不就行了(经验证不可行) 3.2 前端跳转封装请求,携带hea ...
随机推荐
- HTTP POST发消息
业务需求:模拟TANX给DSP发消息,protobuf数据已弄好. 代码: def PostDataToDSP(self,url,postdata): headers = { #taobao文档规定 ...
- 【16】成对使用new和delete时要采取相同形式
简而言之,new时不带[],delete时也不带[]:new时带[],delete时也要带[].如果不匹配,要么造成多销毁对象,导致未定义行为:要么导致少销毁对象,导致内存泄漏.
- 电话qie听器
业务逻辑: 当有电话打进来或电话打出去的时候,对电话进行录音. public class TelphoneyListenerService extends Service { private stat ...
- sharepoint 2013 更改搜索server组态
1.新搜索server在.安装sharepoint server 2013,并连接到一个现有的sharepoint server领域,完成后.您可以配置新的搜索server. 打开sharepoint ...
- 深入理解jQuery插件开发(转)
如果你看到这篇文章,我确信你毫无疑问会认为jQuery是一个使用简便的库.jQuery可能使用起来很简单,但是它仍然有一些奇怪的地方,对它基本功能和概念不熟悉的人可能会难以掌握.但是不用担心,我下面已 ...
- How Network Load Balancing Technology Works--reference
http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balan ...
- byte数组与对象之间的相互转换
在进行网络通信时可能需要传输对象,如果用NIO的话,只能用Bytebuffer和channel直接 通过ByteArray*Stream和Object*Stream可以将byte数组和对象进行相互的转 ...
- C#读取Exeal文件
今天写一个读取Exeal的时候遇到一个问题就是引用了Mircosotf.Office.Interop.Exeal类库的时候没有办法读取到 纠结了好久百度了一下发现别人是这样写的using Exeal= ...
- Struts---- <s:bean>标签
近几天学习的都是跟struts有关的.详细写<s:bean>标签 具体内容为: 一.准备工作 1.新建Web工程 2.添加struts:右键点击工程名选择My Eclipse-->点 ...
- Redis与Memcached对比
Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富,有字符串.链表.集合和有序集合.支持在服务器端计算集合的并,交和补集等.还支持多 ...