|
@ -819,6 +819,7 @@
|
|
|
|
|
|
$.ligerDefaults.AutoForm = {
|
|
|
data:null,
|
|
|
|
|
|
readonly: false, //是否只读
|
|
|
validate:null, //校验
|
|
|
message:null //校验提示
|
|
@ -836,7 +837,7 @@
|
|
|
defaultMessage:{
|
|
|
required: "必填项",
|
|
|
email: "请输入有效的电子邮件地址",
|
|
|
url: "请输入有效的网址",
|
|
|
ip: "请输入有效的ip地址",
|
|
|
date: "请输入有效的日期",
|
|
|
dateISO: "请输入有效的日期 (YYYY-MM-DD)",
|
|
|
number: "请输入有效的数字",
|
|
@ -1025,18 +1026,42 @@
|
|
|
return message;
|
|
|
}
|
|
|
}
|
|
|
else if(rule== "equalTo")
|
|
|
{debugger
|
|
|
if(ruleValue=="") {
|
|
|
return "密码未输入";
|
|
|
}
|
|
|
else if(ruleValue!=value && value!="") {
|
|
|
return message;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
debugger
|
|
|
|
|
|
if(value !=null &&value.length>0)
|
|
|
{
|
|
|
switch (rule)
|
|
|
{
|
|
|
case "email":
|
|
|
{
|
|
|
|
|
|
var re =new RegExp("^([a-zA-Z0-9]+[_|\\_|\\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\\_|\\.]?)*[a-zA-Z0-9]+\\.[a-zA-Z]{2,3}$");
|
|
|
if(!re.test(value))
|
|
|
{
|
|
|
return message;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
case "url":
|
|
|
case "ip":
|
|
|
{
|
|
|
|
|
|
|
|
|
var re =new RegExp("^(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})$");
|
|
|
debugger
|
|
|
if(!re.test(value))
|
|
|
{
|
|
|
return message;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
case "date":
|
|
@ -1053,19 +1078,14 @@
|
|
|
}
|
|
|
case "digits":
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
case "equalTo":
|
|
|
{
|
|
|
if(ruleValue=="") {
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
else if(ruleValue!=value) {
|
|
|
var re =new RegExp("^[0-9]*$");
|
|
|
if(!re.test(value))
|
|
|
{
|
|
|
return message;
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case "extension"://请输入有效的后缀
|
|
|
{
|
|
|
break;
|
|
@ -1118,13 +1138,12 @@
|
|
|
validate:function(){
|
|
|
try {
|
|
|
var me = this, option = this.options;
|
|
|
|
|
|
me.flag = 100;//错误等级
|
|
|
var suc = true;
|
|
|
if(me.controls!=null)
|
|
|
{
|
|
|
if (me.controls != null) {
|
|
|
var data = me.getData();
|
|
|
for(var i=0;i<me.controls.length;i++)
|
|
|
{
|
|
|
for (var i = 0; i < me.controls.length; i++) {
|
|
|
|
|
|
var control = me.controls[i];
|
|
|
var name = control["name"];
|
|
|
|
|
@ -1132,59 +1151,139 @@
|
|
|
|
|
|
var message = control["message"];
|
|
|
var error = "";
|
|
|
|
|
|
if(rule!=null)
|
|
|
{
|
|
|
var terror = "";
|
|
|
if (rule != null) {
|
|
|
var value = data[name];
|
|
|
if(typeof(rule)=="string")
|
|
|
{
|
|
|
error = me.validateRule(rule,true,value);
|
|
|
if (typeof(rule) == "string") {
|
|
|
error = me.validateRule(rule, true, value);
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
for(var o in rule)
|
|
|
{
|
|
|
else {
|
|
|
for (var o in rule) {
|
|
|
var val = rule[o];
|
|
|
|
|
|
//判断相等情况,以赋值替代val
|
|
|
if(o=="equalTo")
|
|
|
{debugger
|
|
|
val=data[val];
|
|
|
if (o == "equalTo") {
|
|
|
val = data[val];
|
|
|
}
|
|
|
terror = me.validateRule(o, val, value);
|
|
|
if (terror.length > 0) {
|
|
|
|
|
|
var re = me.validateRule(o,val,value);
|
|
|
if(error.length>0)
|
|
|
{
|
|
|
error += ";"+re;
|
|
|
if (o == "required") {
|
|
|
me.flag = 1;
|
|
|
error = terror;
|
|
|
}
|
|
|
else if (o == "minlength") {
|
|
|
if (me.flag > 2) {
|
|
|
me.flag = 2;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
else if (o == "maxlength") {
|
|
|
if (me.flag > 3) {
|
|
|
me.flag = 3;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
//判断相等情况,以赋值替代val
|
|
|
else if (o == "equalTo") {
|
|
|
if (me.flag > 4) {
|
|
|
me.flag = 4;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
else if (o == "digits") {
|
|
|
if (me.flag > 5) {
|
|
|
me.flag = 5;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
else if (o == "email") {
|
|
|
if (me.flag > 6) {
|
|
|
me.flag = 6;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
else if (o == "ip") {
|
|
|
if (me.flag > 7) {
|
|
|
me.flag = 7;
|
|
|
error = terror;
|
|
|
}
|
|
|
}
|
|
|
//error += ";"+re;
|
|
|
}
|
|
|
else{
|
|
|
error = re;
|
|
|
else {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//是否报错
|
|
|
if(error.length>0)
|
|
|
{
|
|
|
if(error=="必填项;") {
|
|
|
me.showError(control, "必填项");//必填项优先级高
|
|
|
if (error.length > 0) {
|
|
|
if (typeof(message) == "string")
|
|
|
error = message;//用户自定义消息覆盖默认消息
|
|
|
else {
|
|
|
for (var m in message) {
|
|
|
var value = message[m];
|
|
|
if (m == "required" && me.flag == 1) {
|
|
|
error = value;
|
|
|
}
|
|
|
else if (m == "minlength" && me.flag == 2) {
|
|
|
|
|
|
error = value;
|
|
|
}
|
|
|
else if (m == "maxlength" && me.flag == 3) {
|
|
|
error = value;
|
|
|
}
|
|
|
//判断相等情况,以赋值替代val
|
|
|
else if (m == "equalTo" && me.flag == 4) {
|
|
|
error = value;
|
|
|
}
|
|
|
else if (m == "digits" && me.flag == 5) {
|
|
|
error = value;
|
|
|
}
|
|
|
else if (m == "email" && me.flag == 6) {
|
|
|
error = value;
|
|
|
}
|
|
|
else if (m == "ip" && me.flag == 7) {
|
|
|
error = value;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if(message!=null && message.length > 0)
|
|
|
{
|
|
|
me.showError(control,message);
|
|
|
|
|
|
if (me.flag == 1) {
|
|
|
me.showError(control, error);//required优先级高
|
|
|
}
|
|
|
else{
|
|
|
me.showError(control,error);
|
|
|
else if (me.flag == 2) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
else if (me.flag == 3) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
else if (me.flag == 4) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
else if (me.flag == 5) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
else if (me.flag == 6) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
else if (me.flag == 7) {
|
|
|
me.showError(control, error);//
|
|
|
}
|
|
|
//else if(message!=null && message.length > 0){
|
|
|
// me.showError(control,message);
|
|
|
// }
|
|
|
suc = false;
|
|
|
}
|
|
|
else{
|
|
|
else
|
|
|
{
|
|
|
me.clearError(control);
|
|
|
}
|
|
|
}
|
|
|
return suc;
|
|
|
}
|
|
|
|
|
|
return suc;
|
|
|
}
|
|
|
catch(e)
|
|
|
{
|