单个校验操作控制

需求:现在画面进行校验操作,校验时oracle会锁表。此时另外一个用户进行校验时就会等待前一个用户校验完成解锁DB。

            此时,就要避免让用户等待,提醒用户。


做法1、校验方法加sycronized {},没操作过,估计可行。

做法2:、创建一个成员变量 

private static Atomicinteger t = new Atomicinteger (1);

validate(){

if(!t.compareAndSet(1, 0)){

return;

}

try{

}catch(Exception e){

logger.error("校验错误...." + e.getMessage());
throw e;

}finally{

t.getAndIncrement();

}

}

可参考:http://www.cnblogs.com/Gordon-YangYiBao/archive/2012/08/07/2626422.html

### 实现 vxe-table 中单个单元格的数据校验 在 `vxe-table` 组件中,可以通过设置 `edit-rules` 属性来定义表格内各字段的验证规则。对于特定单元格的数据校验,可以利用该属性配合具体列的配置完成。 #### 定义编辑规则 通过给表格添加 `edit-config` 和 `edit-rules` 来开启全局或局部范围内的编辑模式以及设定相应的检验逻辑: ```html <vxe-table :data="tableData" border ref="xTable"> <!-- 列定义 --> </vxe-table> ``` 其中,在 JavaScript 部分初始化时需指定具体的校验条件: ```javascript export default { data () { return { tableData: [], // 表格数据源 editRules: { // 编辑规则对象 name: [ { required: true, message: '请输入姓名' }, { min: 2, max: 8, message: '长度应介于 2 至 8 字符之间'} ], age: [{ type: 'number', min: 0 }] } }; }, }; ``` 上述代码片段展示了如何针对名为 `name` 的列应用必填项和字符长度限制,并对 `age` 进行数值类型的最小值约束[^1]。 #### 动态触发校验 当希望手动控制某个单元格的即时效验过程时,可通过调用实例方法 `validateField()` 或者结合事件监听器如 `cell-change` 自动执行此操作: ```javascript // 手动触发表单项校验 this.$refs.xTable.validateField('name').then(({ errors }) => { console.log(errors); }); // 监听单元格变化自动校验 this.$refs.xTable.on('cell-change', ({ column, row }) => { const fieldName = column.property; this.$nextTick(() => { this.$refs.xTable.validateField(fieldName).catch(errorList => {}); }); }); ``` 以上方式能够确保每次修改后立即反馈用户输入是否符合预期标准[^3]。 #### 使用内置表单控件辅助校验 为了简化开发流程并增强用户体验,还可以借助 `vxe-form` 提供的一系列便捷工具来进行更复杂的交互设计,比如联动提示、异步加载选项列表等功能[^4]。 ```html <template> <div> <vxe-form :items="formItems"></vxe-form> <vxe-button @click="submitForm">提交</vxe-button> </div> </template> <script> import XEUtils from 'xe-utils' export default { methods: { submitForm () { this.$refs.form.validate(valid => { if (valid) { alert('校验成功!'); } else { alert('校验失败'); } }) } }, data () { return { formItems: [{ field: 'name', title: '名称', span: 24, itemRender: { name: '$input', props: { placeholder: '请输入...' } }, rules: [ { required: true, message: '此项不能为空!' } ] }], } } } </script> ``` 这段示例说明了怎样创建一个简单的带有基本校验机制的小部件集合,适用于快速搭建原型页面或是小型应用程序中的场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值