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

43 lines
749 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]) => {
2025-05-12 19:45:27 +08:00
console.log(rules[key], key)
2025-05-21 15:45:10 +08:00
if (rules[key] && !rules[key].reg.test(value)) {
2025-04-14 11:42:21 +08:00
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>