Files
xl-mobile/src/components/XForm.vue

42 lines
698 B
Vue
Raw Normal View History

2025-04-14 11:42:21 +08:00
<script setup>
import {showToast} from "../utils/uils.js";
const {model, rules} = defineProps({
model: {
type: Object,
default: {},
},
rules: {
type: Object,
default: {},
}
});
const verify = () => {
Object.entries(model).forEach(([key, value]) => {
if (!rules[key].reg.test(value)) {
showToast({
icon: 'error',
mask: true,
title: rules[key].msg,
});
throw new Error(rules[key].msg);
}
});
}
defineExpose({
verify
});
</script>
<template>
<view>
<slot></slot>
</view>
</template>
<style scoped lang="scss">
</style>