element输入框校验规则

输入框校验规则几乎是所有项目中都会用到的东西
那些年,我们趟过了很多坑
遇到一个项目要求是字段和内容及输入校验规则都是从后端请求的(即动态表单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import * as elValudate from '@/assets/js/elValidate' // 引入自定义校验方法

data(){
// 行内自定义校验
var validatePass = (rule, value, callback) => {
if (value === '' || value == undefined || value == 0) {
callback(new Error('请点击选择评分'));
}
callback();
};
return {
againForm:{},
againRules:{
againText:[
{ required: true, message: '请输入备注', trigger: 'blur' },
],
value:[
// { required: true, message: '请点击进行评分', trigger: 'blur' },
{validator:validatePass,trigger: 'change'},
],
phone:[
{validator:elValudate.elValidatePhone,trigger: 'blur'},
]
}
}
},
mounted(){
this.clearValidate('againForm') // 清除整个表单的校验
this.clearValidate('againValue') // 清除againValue的校验
},
methods : {
clearValidate(formName) {
this.$refs[formName].clearValidate();
},
}
1
2
3
4
5
6
7
8
9
10
11
12
13
rules.js
//
export function elValidatePhone(rule, value, callback) {
if (value == '') {
return callback(new Error('手机号码不能为空'))
} else {
let re = /^1[23456789]\d{9}$/;
if (!re.test(value)) {
return callback(new Error('手机号码输入格式有误'))
}
return callback();
}
}

猫盘刷x3p和群晖nas

一、TTL大法

连接TTL终端,并插上U盘,捅菊花上电启动
首先将x3p的full.bin文件刷入spi flash
reset重启刷入X3P

1
bubt full.bin spi usb

修改mac地址,例如:4C:65:A8:A1:2B:3C

1
2
3
[root@ones~]# root Etech12
mount -o remount,rw /
vi /etc/init.d/S21wire

然后升级最新的系统

群晖NAS也一样的方法,重点在于full.bin或flash-imag.bin
OK,X3p可以开吃

二、DD大法

DS119J

1
2
3
4
dd if="full.bin" of=/dev/mtdblock0 bs=1 skip=0 count=$((0xc8000))
dd if="full.bin" of=/dev/mtdblock1 bs=1 skip=$((0x000c8000)) count=$((0x00004000))
dd if="full.bin" of=/dev/mtdblock2 bs=1 skip=$((0x000cc000)) count=$((0x00434000))
dd if="full.bin" of=/dev/mtdblock3 bs=1 skip=$((0x00500000)) count=$((0x00300000))

DS119J to DS120J

1
2
3
4
dd if="full.bin" of=/dev/mtdblock0 bs=1 skip=0 count=$((0x000d5000))
dd if="full.bin" of=/dev/mtdblock1 bs=1 skip=$((0x000d5000)) count=$((0x00306000))
dd if="full.bin" of=/dev/mtdblock2 bs=1 skip=$((0x003db000)) count=$((0x00410000))
dd if="full.bin" of=/dev/mtdblock3 bs=1 skip=$((0x007eb000)) count=$((0x00010000))

三、TOOLS&&uboot其他操作

1
2
echo 0 > /sys/class/thermal/cooling_device0/cur_state  #关闭风扇
echo 1 > /sys/class/thermal/cooling_device0/cur_state #打开风扇

在新uboot里从U盘根目录中刷入uboot

1
bubt flash-image.bin spi usb

在新uboot里从tftp中刷入uboot

1
2
3
setenv ipaddr 192.168.1.100 #设定本机ip
setenv serverip 192.168.1.2 #设定tftp服务器ip
bubt flash-image.bin spi tftp

在新uboot里改变启动顺序

1
2
setenv boot_targets "usb sata mmc0" #默认为usb->mmc0->sata
saveenv

四、群晖下洗白

可以直接在群晖任务计划里执行,否则就要在full.bin的时候改
免折腾洗白,值得拥有

1
dd if=/dev/mtdblock3 of=/volume1/app/vendor.bin
1
dd if=/volume1/app/vendor.bin of=/dev/mtdblock3