mixins 를 사용 하여 elementUI 폼 전역 검증 을 실현 하 는 해결 방법
검증 규칙
분석 규칙
일반 검증 규칙 은 주로 필수 적 인지,비어 있 지 않 은 지,그리고 매개 변수 유형 에 대한 검증 입 니 다.
이 조건 을 바탕 으로 우 리 는 사고방식 을 찾기 시작 했다.단일 필드 의 검증 은 다음 과 같다.
name: {
required: ,
validator: ,
message: ( ),
trigger:
}
순환 실현일정한 규칙.한 물건 이 고정된 후에 그것 은 반드시 중복 적 으로 사용 할 수 있 고 빠르게 생 성 될 수 있 으 며 우 리 는 순환 으로 그것 을 실현 할 수 있다.
그러나 순환 으로 이 루어 지 려 면 데이터 규칙 이 필요 하 다.
정의 데이터 규칙
필요 한 필드 를 분석 하면 다음 과 같은 몇 가지 가 있 고 다른 것 은 자신의 수요 에 따라 증가 할 수 있다.
fieldList: [
{label: ' ', value: 'account', type: 'input', required: true},
{label: ' ', value: 'password', type: 'password', required: true},
{label: ' ', value: 'name', type: 'input', required: true},
{label: ' ', value: 'sex', type: 'select', list: 'sexList', required: true},
{label: ' ', value: 'avatar', type: 'input'},
{label: ' ', value: 'phone', type: 'input'},
{label: ' ', value: 'wechat', type: 'input'},
{label: 'QQ', value: 'qq', type: 'input'},
{label: ' ', value: 'email', type: 'input'},
{label: ' ', value: 'status', type: 'select', list: 'statusList', required: true}
]
form 전체 필드 설정 참조:
//
formInfo: {
ref: null,
data: {
id: '', // * ID
account: '', // *
password: '', // *
name: '', // *
type: 2, // * : 0: 1: 2:
sex: 0, // * : 0: 1:
avatar: '', //
phone: '', //
wechat: '', //
qq: '', // qq
email: '', //
status: 1 // * : 0: ,1: ( 1)',
// create_user: '', //
// create_time: '', //
// update_user: '', //
// update_time: '' //
},
fieldList: [
{label: ' ', value: 'account', type: 'input', required: true},
{label: ' ', value: 'password', type: 'password', required: true},
{label: ' ', value: 'name', type: 'input', required: true},
{label: ' ', value: 'sex', type: 'select', list: 'sexList', required: true},
{label: ' ', value: 'avatar', type: 'input'},
{label: ' ', value: 'phone', type: 'input'},
{label: ' ', value: 'wechat', type: 'input'},
{label: 'QQ', value: 'qq', type: 'input'},
{label: ' ', value: 'email', type: 'input'},
{label: ' ', value: 'status', type: 'select', list: 'statusList', required: true}
],
rules: {},
labelWidth: '120px'
}
검증 방법 실현
//
_initRules (formInfo) {
const obj = {},
fieldList = formInfo.fieldList
//
for (let item of fieldList) {
let type = item.type === 'select' ? ' ' : ' '
if (item.required) {
if (item.rules) {
obj[item.value] = {
required: item.required,
validator: item.rules,
trigger: 'blur'
}
} else {
obj[item.value] = {
required: item.required,
message: ' ' + type + item.label,
trigger: 'blur'
}
}
} else if (item.rules) {
obj[item.value] = {
validator: item.rules,
trigger: 'blur'
}
}
}
formInfo.rules = obj
}
전역 설정 방법프로젝트 의 시스템 관리 모듈 에서 예시 코드 를 볼 수 있 습 니 다.
항목 주소
프로젝트 코드 주소
총결산
위 에서 말씀 드 린 것 은 mixins 를 사용 하여 element UI 폼 의 전체적인 검증 을 실현 하 는 해결 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
elementui 레벨 선택기 임의의 노드를 선택하여lable를 눌렀을 때 선택하고 축소합니다dataForm.areaCode는 데이터 데이터의 dataForm: {areaCode:""} 양식의 데이터입니다. refHandle은...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.