fix: 添加验证电话号码是否合法

This commit is contained in:
@changcode
2021-05-28 13:12:05 +08:00
parent ccf8013050
commit 6e601b36df
5 changed files with 38 additions and 2 deletions

View File

@@ -504,6 +504,7 @@ const cn = {
number: '必须是数字', number: '必须是数字',
email: '不合法的E-mail地址', email: '不合法的E-mail地址',
tel: '不合法的电话号码', tel: '不合法的电话号码',
telephone: '电话号码不能为空',
host: '不合法的IP', host: '不合法的IP',
fileSize: '文件过大', fileSize: '文件过大',
port: '不合法的端口', port: '不合法的端口',

View File

@@ -515,6 +515,7 @@ const en = {
positiveInteger: 'Positive integer', positiveInteger: 'Positive integer',
email: 'Invalid email', // '不合法的E-mail地址' email: 'Invalid email', // '不合法的E-mail地址'
tel: 'Invalid phone number', // '不合法的电话号码' tel: 'Invalid phone number', // '不合法的电话号码'
telephone: 'Phone number cannot be empty',
host: 'Invalid Host', // '不合法的Host' host: 'Invalid Host', // '不合法的Host'
domain: 'Invalid domain', domain: 'Invalid domain',
usize: 'Must be number(1 - 47)', usize: 'Must be number(1 - 47)',

View File

@@ -81,7 +81,9 @@
</template> </template>
<script> <script>
import { host, port } from '@/components/common/js/validate' // import { host, port } from '@/components/common/js/validate'
import {isvalidPhone} from "../../../../store/validate";
export default { export default {
name: 'userBox', name: 'userBox',
components: { components: {
@@ -108,7 +110,16 @@ export default {
} else { } else {
callback() callback()
} }
} };
const phoneVerification = (rule, value,callback) => {
if (!value){
callback(new Error(this.$t('validate.telephone')))
}else if (!isvalidPhone(value)){
callback(new Error(this.$t('validate.tel')))
}else {
callback()
}
};
return { return {
editUser: {}, editUser: {},
url: 'sys/user', url: 'sys/user',
@@ -132,6 +143,10 @@ export default {
], ],
email: [ email: [
{ type: 'email', message: this.$t('validate.email') } { type: 'email', message: this.$t('validate.email') }
],
mobile: [
{ validator: phoneVerification, required : true, trigger: 'blur' },
{ required: true, message: '', trigger: 'blur' }
] ]
}, },
rules2: { // 表单校验规则 rules2: { // 表单校验规则

View File

@@ -65,6 +65,8 @@
<script> <script>
import latlngPicker from '../latlngPicker' import latlngPicker from '../latlngPicker'
const regNum = /^[0-9]+.?[0-9]*/ const regNum = /^[0-9]+.?[0-9]*/
import {isvalidPhone} from "../../../store/validate";
export default { export default {
name: 'dcBox', name: 'dcBox',
components: { latlngPicker }, components: { latlngPicker },
@@ -75,6 +77,15 @@ export default {
userData: Array userData: Array
}, },
data () { data () {
const phoneVerification = (rule, value,callback) => {
if (!value){
callback(new Error(this.$t('validate.telephone')))
}else if (!isvalidPhone(value)){
callback(new Error(this.$t('validate.tel')))
}else {
callback()
}
}
return { return {
editDc: {}, editDc: {},
rules: { rules: {
@@ -83,6 +94,10 @@ export default {
], ],
state: [ state: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
tel: [
{ validator: phoneVerification, required: true, trigger: 'blur' },
{ required: true, message: '', trigger: 'blur' }
] ]
}, },
areaData: [], areaData: [],

View File

@@ -0,0 +1,4 @@
export function isvalidPhone(str) {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
return reg.test(str)
}