Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用validate的equalTo做重复密码校验,第二次输入同样的内容无法通过 #1967

Open
zhangjinsong opened this issue Apr 10, 2017 · 1 comment

Comments

@zhangjinsong
Copy link

zhangjinsong commented Apr 10, 2017

在chrom 56.0.2924.87下使用avalon2.2.4出现不能校验重复密码的问题。
代码如下:

<title>全选</title>
{{@aaa}} {{@BBB}} <textarea ms-duplex="@ccc" /></textarea>{{@ccc}}

本例子用于显示如何做一个简单的表格排序

{{el}} up down

{{el.name}} {{el.size}} {{el.date}}

文本域与下拉框的联动

{{el}}

下拉框三级联动

{{el}} {{el}} {{el}}
验证完整的表单

名字

姓氏

用户名

密码

验证密码

Email

请同意我们的声明

我乐意接收新信息 {{@valid_newsletter}}

主题 (至少选择两个) Marketflash Latest fuzz Mailing list digester 至少选择两个

<script src="https://cdnjs.cloudflare.com/ajax/libs/avalon.js/2.2.5/avalon.js" type="text/javascript" charset="utf-8"></script> <script> //一般数据同步 avalon.define({ $id:"test", aaa:"aaa", bbb:"bbb", ccc:"ccc", fn:function(e){ console.log(e.target.value)
		}
	});
	//大数据表格
	if (!Date.now) {//fix 旧式IE
	    Date.now = function() {
	        return new Date - 0;//转换为书籍
	    }
	}
	avalon.define({
	    $id: "duplex2",
	    selected: "name",
	    options: ["name", "size", "date"],
	    trend: -1,
	    data: [
	        {name: "aaa", size: 213, date: Date.now() + 20},
	        {name: "bbb", size: 4576, date:Date.now() - 4},
	        {name: "ccc", size: 563, date: Date.now() - 7},
	        {name: "eee", size: 3713, date: Date.now() + 9},
	        {name: "555", size: 389, date: Date.now() - 20}
	    ]
	})
	//文本框与下拉框的联动
	avalon.define({
	    $id: "fruit",
	    options: ["苹果", "香蕉", "桃子", "雪梨", "葡萄",
	        "哈蜜瓜", "橙子", "火龙果", "荔技", "黄皮"],
	    selected: "桃子"
	})
	//三级联动
	var map = {
	    "中国": ["江南四大才子", "初唐四杰", "战国四君子"],
	    "日本": ["日本武将", "日本城堡", "幕府时代"],
	    "欧美": ["三大骑士团", "三大魔幻小说", "七大奇迹"],
	    "江南四大才子": ["祝枝山", "文征明", "唐伯虎", "周文宾"],
	    "初唐四杰": ["王勃", "杨炯", "卢照邻", "骆宾王"],
	    "战国四君子": ["楚国春申君黄歇", "齐国孟尝君田文", "赵国平原君赵胜", "魏国信陵君魏无忌"],
	    "日本武将": ["织田信长", "德川家康", "丰臣秀吉"],
	    "日本城堡": ["安土城", "熊本城", "大坂城", "姬路城"],
	    "幕府时代": ["镰仓", "室町", "丰臣", "江户"],
	    "三大骑士团": ["圣殿骑士团", "医院骑士团", "条顿骑士团"],
	    "三大魔幻小说": ["冰与火之歌", "时光之轮", "荆刺与白骨之王国"],
	    "七大奇迹": ["埃及胡夫金字塔", "奥林匹亚宙斯巨像", "阿尔忒弥斯月神殿", "摩索拉斯陵墓", "亚历山大港灯塔", "巴比伦空中花园", "罗德岛太阳神巨像"]
	}
	var vm = avalon.define({
	    $id: 'linkage',
	    first: ["中国", "日本", "欧美"],
	    second: map['日本'].concat(),
	    third: map['日本武将'].concat(),
	    firstSelected: "日本",
	    secondSelected: "日本武将",
	    thirdSelected: "织田信长"
	});
	vm.$watch("firstSelected",function(a){
		vm.second = map[a].concat()
		vm.secondSelected = vm.second[0]
	});
	vm.$watch("secondSelected",function(a){
		vm.third = map[a].concat();
		vm.thirdSelected = vm.third[0];
	})
	//表单验证
	 var vm_valid = avalon.define({
            $id: "validate1",
            firstname: '',
            lastname: '',
            username: '',
            password: '',
            confirm_password: '',
            email: '',
            agree: false,
            topic: [],
            toggle: false,
           	valid_firstname:'',  
           	valid_lastname:'',  
           	valid_username:'', 
           	valid_password:'',  
           	valid_confirm_password:'',  
           	valid_email:'',
           	valid_agree:'',
           	valid_newsletter:'',
           	valid_topic_digester:'',
            validate: {
            	validateInKeyup:false,
                onError: function (reasons) {
                    reasons.forEach(function (reason) {
     //                	switch(reason.element.name){
     //                		case "firstname":{
     //                			if(vm_valid.valid_firstname==""){
     //                				vm_valid.valid_firstname=reason.getMessage();
     //                			}
     //                		}
     //                		break;
     //                		case "lastname":{
								// if(vm_valid.valid_lastname==''){
								// 	vm_valid.valid_lastname=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "username":{
     //                			if(vm_valid.valid_username==''){
								// vm_valid.valid_username=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "password":{
								// if(vm_valid.valid_password==''){
								// vm_valid.valid_password=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "confirm_password":{
								// if(vm_valid.valid_confirm_password==''){
								// vm_valid.valid_confirm_password=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "email":{
								// if(vm_valid.valid_email==''){
								// vm_valid.valid_email=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "agree":{
								// if(vm_valid.valid_agree==''){
								// vm_valid.valid_agree=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "newsletter":{
								// if(vm_valid.valid_newsletter==''){
								// vm_valid.valid_newsletter=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                		case "topic_digester":{
     //                			if(vm_valid.valid_topic_digester==''){
								// vm_valid.valid_topic_digester=reason.getMessage();
								// }
     //                		}
     //                		break;
     //                	}
                    })
                },
                onComplete:function(ret){
                	if(ret.length=="0"){
                		return
                	}
                	console.log(ret)
                	var reason = ret[0]
                	switch(reason.element.name){
                    		case "firstname":{
                    				vm_valid.valid_firstname=reason.getMessage();
                    		}
                    		break;
                    		case "lastname":{
									vm_valid.valid_lastname=reason.getMessage();
                    		}
                    		break;
                    		case "username":{
								vm_valid.valid_username=reason.getMessage();
                    		}
                    		break;
                    		case "password":{
								vm_valid.valid_password=reason.getMessage();
                    		}
                    		break;
                    		case "confirm_password":{
								vm_valid.valid_confirm_password=reason.getMessage();
                    		}
                    		break;
                    		case "email":{
								vm_valid.valid_email=reason.getMessage();
                    		}
                    		break;
                    		case "agree":{
								vm_valid.valid_agree=reason.getMessage();
                    		}
                    		break;
                    		case "newsletter":{
								vm_valid.valid_newsletter=reason.getMessage();
                    		}
                    		break;
                    		case "topic_digester":{
								vm_valid.valid_topic_digester=reason.getMessage();
                    		}
                    		break;
                    	}
                },
                onSuccess:function(result){
                	switch(result[0].element.name){
                		case "firstname":{
            				vm_valid.valid_firstname='';
                		}
                		break;
                		case "lastname":{
                			vm_valid.valid_lastname='';
                		}
                		break;
                		case "username":{
							vm_valid.valid_username=''
                		}
                		break;
                		case "password":{
							vm_valid.valid_password=''
                		}
                		break;
                		case "confirm_password":{
							vm_valid.valid_confirm_password= ''
                		}
                		break;
                		case "email":{
							vm_valid.valid_email=''
                		}
                		break;
                		case "agree":{
							vm_valid.valid_agree=''
                		}
                		break;
                		case "newsletter":{
							vm_valid.valid_newsletter=''
                		}
                		break;
                		case "topic_digester":{
							vm_valid.valid_topic_digester=''
                		}
                		break;
                	}
                },
                onValidateAll: function (reasons) {
                    if (reasons.length) {
                        console.log('有表单没有通过')
                    } else {
                        console.log('全部通过')
                    }
                }
            }
        })
        avalon.validators.checked = {
            message: '必须扣上',
            get: function (value, field, next) {
                next(value)
                return value
            }
        }
         avalon.validators.selecttwo = {
            message: '至少选择两个',
            get: function (value, field, next) {
                next(!vm.toggle || value.length >= 2)
                return value
            }
        }
</script>
报错如下: ![image](https://cloud.githubusercontent.com/assets/12949599/24856282/ba3b295a-1e16-11e7-90d4-f92843a340f3.png)
@hmhao
Copy link

hmhao commented Apr 27, 2017

同样遇到过

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants