easy-ui的表单校验

easyUI表单验证

3. 表单提交时的校验

easyUI的验证,定义input标签的class=“easyui-validatebox”,验证在dataoptions属性中。先看一段简单的代码:

验证用户名为必填字段:

<input class="easyui-validatebox" missingMessage="请填写用户名" data-options="required:true">

验证登录名必填且长度为1—5之间:

<input class="easyui-validatebox" missingMessage="请填写登录名" data-options="required:true,validType:'length[1,5]'">

自定义校验格式:easyUI提供了email、length、URL几个常用的验证,更多的校验,可以自己定义,例如,要验证密码长度为6,自定义方式如下:

<input class="easyui-validatebox" missingMessage="请填写密码" data-options="required:true,validType:'minLength[6,\'密码长度为6\']'">

  1. rules: {
  2.  
    email:{
  3.  
    validator: function(value){
  4.  
    return ...?$/i.test(value);
  5.  
    },
  6.  
    message: 'Please enter a valid email address.'
  7.  
    },
  8.  
    url: {
  9.  
    validator: function(value){
  10.  
    return ...?$/i.test(value);
  11.  
    },
  12.  
    message: 'Please enter a valid URL.'
  13.  
    },
  14.  
    length: {
  15.  
    validator: function(value, param){
  16.  
    var len = $.trim(value).length;
  17.  
    return len >= param[0] && len <= param[1]
  18.  
    },
  19.  
    message: 'Please enter a value between {0} and {1}.'
  20.  
    },
  21.  
    remote: {
  22.  
    validator: function(value, param){
  23.  
    var data = {};
  24.  
    data[param[1]] = value;
  25.  
    var response = $.ajax({
  26.  
    url:param[0],
  27.  
    dataType:'json',
  28.  
    data:data,
  29.  
    async:false,
  30.  
    cache:false,
  31.  
    type:'post'
  32.  
    }).responseText;
  33.  
    return response == 'true';
  34.  
    },
  35.  
    message: 'Please fix this field.'
  36.  
    }
  37.  
    },

 

转载于:https://www.cnblogs.com/Darkqueen/p/9509727.html

### 如何在 Uni-app 中使用 `uni-popup` 实现表单功能 #### 创建弹窗表单结构 为了创建一个带有表单的弹窗,在页面模板文件中定义如下结构: ```html <template> <view class="content"> <!-- 触发按钮 --> <button type="primary" @click="openPopup">打开表单</button> <!-- 表单弹窗 --> <uni-popup ref="popupForm" type="form"> <uni-forms ref="form" :modelValue="formData"> <uni-forms-item label="用户名" required> <uni-easyinput v-model="formData.username"></uni-easyinput> </uni-forms-item> <uni-forms-item label="密码" required> <uni-easyinput type="password" v-model="formData.password"></uni-easyinput> </uni-forms-item> <button type="primary" @click="submitForm">提交</button> </uni-forms> </uni-popup> </view> </template> ``` 此部分HTML代码用于构建界面布局,其中包含了触发弹出层显示的按钮以及实际的表单位置[^1]。 #### 定义脚本逻辑 接下来是在对应的JavaScript/TypeScript文件里编写交互逻辑: ```javascript <script setup lang="ts"> import { reactive, ref } from 'vue'; // 弹窗实例化对象 const popupForm = ref(null); // 表单数据模型绑定变量 let formData = reactive({ username: '', password: '' }); function openPopup() { popupForm.value.open(); } async function submitForm() { try { await this.$refs.form.validate(); // 验证整个表单有效性 console.log('提交的数据:', formData); // 处理成功后的操作 popupForm.value.close(); // 关闭弹窗 } catch (err) { console.error(err.message || "验证失败"); } } </script> ``` 这段脚本实现了当用户点击“打开表单”的时候会调用`openPopup()`函数来展示弹窗;而点击“提交”则执行`submitForm()`来进行表单校验并处理有效输入[^2]。 #### 添加样式调整 最后可以给`.content`, `.uni-popup__wrapper-inner`等类名添加CSS来自定义外观效果。这一步骤不是必需的,但如果希望改善用户体验,则建议适当美化一下UI设计[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值