表單( Form )提供多種方法來執(zhí)行帶有表單字段的動(dòng)作。
表單( Form )可調(diào)用validate
方法以檢查表單是否有效。
屬性列表
名稱 |
數(shù)據(jù)類型 |
作用描述 |
默認(rèn)值 |
model |
Object |
表單數(shù)據(jù)。 |
null |
rules |
Object |
驗(yàn)證規(guī)則。 |
null |
rules: {
name: ["required", "length[5,10]"],
email: "email",
hero: "required",
addr: {
"required":true,
"myrule":{
"validator": (value) => {
if (...){
return true;
} else {
return Promise(resolve => {
//...
resolve(true);
});
}
},
"message": "my error message."
}
}
}
事件列表
名稱 |
參數(shù) |
作用描述 |
validate |
valid |
驗(yàn)證字段時(shí)觸發(fā)。 |
方法列表
名稱 |
參數(shù) |
返回值 |
作用描述 |
validate |
none |
void |
驗(yàn)證所有表單規(guī)則。 |
validateField |
name |
void |
驗(yàn)證指定字段的規(guī)則。 |
this.$refs.form.validate((valid) => {
//...
})
validateField
方法代碼實(shí)例:
this.$refs.form.validateField('addr', (valid) => {
//...
})
注:
- 繼承: None 。
使用方法:
- 配合使用其他組件( TextBox 、 ComboBox 、 CheckBox )快速自定義一個(gè)表單。
<Form ref="form" :model="user" :rules="rules" @validate="errors=$event">
<div style="margin-bottom:20px">
<Label for="name" align="top">Name:</Label>
<TextBox inputId="name" name="name" v-model="user.name"></TextBox>
<div class="error">{{getError('name')}}</div>
</div>
<div style="margin-bottom:20px">
<Label for="email" align="top">Email:</Label>
<TextBox inputId="email" name="email" v-model="user.email"></TextBox>
<div class="error">{{getError('email')}}</div>
</div>
<div style="margin-bottom:20px">
<Label for="hero" align="top">Select a hero:</Label>
<ComboBox inputId=hero name="hero" :data="heroes" v-model="user.hero"></ComboBox>
<div class="error">{{getError('hero')}}</div>
</div>
<div style="margin-bottom:20px">
<CheckBox inputId="accept" name="accept" v-model="user.accept"></CheckBox>
<Label for="accept">Accept Me</Label>
</div>
<div style="margin-bottom:20px">
<LinkButton :disabled="false" @click="submitForm()">Submit</LinkButton>
</div>
</Form>
更多建議: