• uniapp的表单验证


    回顾一下,平常我们在使用element-ui的时候是如何进行表单验证的

    1. <template>
    2. <div class="">
    3. <el-form ref="form" :rules="rules" :model="form">
    4. <el-form-item label="姓名" prop="name">
    5. <el-input v-model="form.name"></el-input>
    6. </el-form-item>
    7. <el-form-item label="年龄" prop="age">
    8. <el-input v-model="form.age"></el-input>
    9. </el-form-item>
    10. </el-form>
    11. <el-button type="primary" @click="fn">保存</el-button>
    12. </div>
    13. </template>
    14. <script>
    15. export default {
    16. data() {
    17. return {
    18. form:{
    19. name:'',
    20. age:''
    21. },
    22. rules:{
    23. name: [{ required: true, message: '必填', trigger: 'blur' }],
    24. age: [{ required: true, message: '必填', trigger: 'blur' }]
    25. }
    26. }
    27. },
    28. name: '',
    29. methods: {
    30. fn(){
    31. this.$refs.form.validate((result)=>{
    32. if (result) {
    33. console.log('验证通过后的逻辑处理');
    34. }
    35. else{
    36. console.log('验证失败后的逻辑处理');
    37. }
    38. })
    39. }
    40. }
    41. }
    42. </script>
    43. <style scoped>
    44. </style>

    (1)在el-form上绑定的东西

    1.ref获取表单调用viliadte方法做全局的验证

    2.:rules  验证规则

    3.:model 绑定关联的数据

    (2)在el-form-item上绑定东西

    1.label关联的是标题

    2.prop绑定是关联的字段

    (3)在el-input上绑定的东西

    el-input,绑定双向绑定要关联的数据

    uniapp的表单验证

    1.uni-forms需要通过rules属性传入约定的校验规则

    1. <!-- rules 内容详见下方完整示例 -->
    2. <uni-forms ref="form" :rules="rules">
    3. ...
    4. </uni-forms>

    这个和element-ui是一样的

    2.uni-forms 需要绑定model属性,值为表单的key\value 组成的对象。

    1. <!-- formData、rules 内容详见下方完整示例 -->
    2. <uni-forms ref="form" :model="formData" :rules="rules">
    3. ...
    4. </uni-forms>

    3.uni-forms-item 需要设置 name 属性为当前字段名,字段为 String|Array 类型。

    1. <!-- formData、rules 内容详见下方完整示例 -->
    2. <uni-forms :modelValue="formData" :rules="rules">
    3. <uni-forms-item label="姓名" name="name">
    4. <uni-easyinput type="text" v-model="formData.name" placeholder="请输入姓名" />
    5. </uni-forms-item>
    6. <uni-forms-item required :name="['data','hobby']" label="兴趣爱好">
    7. <uni-data-checkbox multiple v-model="formData.data.hobby" :localdata="hobby"/>
    8. </uni-forms-item>
    9. </uni-forms>

    这里的name相当于element-ui里面的prop

    4.规则验证

    1. rules: {
    2. // 对name字段进行必填验证
    3. name: {
    4. rules: [{
    5. required: true,
    6. errorMessage: '请输入姓名',
    7. },
    8. {
    9. minLength: 3,
    10. maxLength: 5,
    11. errorMessage: '姓名长度在 {minLength} 到 {maxLength} 个字符',
    12. }
    13. ]
    14. },
    15. // 对email字段进行必填验证
    16. email: {
    17. rules: [{
    18. format: 'email',
    19. errorMessage: '请输入正确的邮箱地址',
    20. }]
    21. }
    22. }

     这里可以看出来uni多加了一个rules。

    其他可以见官网进行查看。

  • 相关阅读:
    P06 XML 解析技术介绍
    请求一下子太多了,数据库危
    Springboot毕设项目小区物业管理系统75n19java+VUE+Mybatis+Maven+Mysql+sprnig)
    【Segment Anything Model】八:类似于The size of tensor a (xx) must match the的一些报错
    skywalking监控
    2022年12月编程语言排行榜公布!
    Cloud Computing之时钟和顺序Time and Ordering
    ROS应用层通信协议解析
    企业经营中如何降本增效,消灭内耗?
    Servlet基础(1)
  • 原文地址:https://blog.csdn.net/qq_59076775/article/details/125624831