[improvement] AddressEdit: add validator prop (#1971)

This commit is contained in:
neverland 2018-10-24 20:56:05 +08:00 committed by GitHub
parent 368a2eaf94
commit 32da15c647
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 8 deletions

View File

@ -4,7 +4,6 @@
<field
v-model="data.name"
clearable
maxlength="15"
:label="$t('name')"
:placeholder="$t('namePlaceholder')"
:error="errorInfo.name"
@ -125,6 +124,7 @@ export default create({
areaList: Object,
isSaving: Boolean,
isDeleting: Boolean,
validator: Function,
showDelete: Boolean,
showPostal: Boolean,
showSetDefault: Boolean,
@ -263,9 +263,16 @@ export default create({
},
getErrorMessage(key) {
const value = String(this.data[key]).trim();
const value = String(this.data[key] || '').trim();
const { $t } = this;
if (this.validator) {
const message = this.validator(key, value);
if (message) {
return message;
}
}
switch (key) {
case 'name':
return value ? '' : $t('nameEmpty');

View File

@ -5,14 +5,14 @@ exports[`renders demo correctly 1`] = `
<div>
<div class="van-address-edit">
<div class="van-cell-group van-hairline--top-bottom">
<div maxlength="15" placeholder="收货人姓名" class="van-cell van-field">
<div placeholder="收货人姓名" class="van-cell van-field">
<!---->
<div class="van-cell__title"><span>姓名</span>
<!---->
</div>
<div class="van-cell__value">
<div class="van-field__body">
<input type="text" maxlength="15" placeholder="收货人姓名" value="" class="van-field__control">
<input type="text" placeholder="收货人姓名" value="" class="van-field__control">
<!---->
<!---->
<!---->

View File

@ -3,14 +3,14 @@
exports[`create a AddressEdit 1`] = `
<div class="van-address-edit">
<div class="van-cell-group van-hairline--top-bottom">
<div maxlength="15" placeholder="收货人姓名" class="van-cell van-field">
<div placeholder="收货人姓名" class="van-cell van-field">
<!---->
<div class="van-cell__title"><span>姓名</span>
<!---->
</div>
<div class="van-cell__value">
<div class="van-field__body">
<input type="text" maxlength="15" placeholder="收货人姓名" value="" class="van-field__control">
<input type="text" placeholder="收货人姓名" value="" class="van-field__control">
<!---->
<!---->
<!---->
@ -113,14 +113,14 @@ exports[`create a AddressEdit 1`] = `
exports[`create a AddressEdit with props 1`] = `
<div class="van-address-edit">
<div class="van-cell-group van-hairline--top-bottom">
<div maxlength="15" placeholder="收货人姓名" class="van-cell van-field">
<div placeholder="收货人姓名" class="van-cell van-field">
<!---->
<div class="van-cell__title"><span>姓名</span>
<!---->
</div>
<div class="van-cell__value">
<div class="van-field__body">
<input type="text" maxlength="15" placeholder="收货人姓名" value="测试" class="van-field__control">
<input type="text" placeholder="收货人姓名" value="测试" class="van-field__control">
<!---->
<!---->
<!---->