跳转到内容

行为校验和返回确认信息

行为校验和返回确认信息

场景1:在执行Action前,可以对数据内容进行校验。

场景2: 在执行Action前,可以给出行为确认信息。

实现方式

使用@validator 以及@confirm,作为校验和确认消息。

实现示例

示例1:对用户模型进行批量改名,至少选择两个

<View title="用户">
<Table key="table" model="user2_User">
<Fields>
<Field name="address" />
<Field name="username" />
</Fields>
<Actions>
<Action openViewType="Dialog" label="批量" multi logicFunction="CUSTOM_User_ReName" validator="#{({data})=>{if(data && data.length < 2){ return '至少选择两个' } return true }}" />
</Actions>
</Table>
</View>

注意:当前例子为0.17.x 版本

示例2:form字段内容校验和返回确认信息

<View title="用户">
<Form model="trantor_doc_Person">
<Fields>
<Field name="name" />
</Fields>
<Actions>
<Action type="Submit" label="修改"
validator="#{validatorSubmit}"
confirm="#{() => confirmText}"/>
</Actions>
</Form>
</View>
import { state, action, Controller } from 'nusi-sdk';
export default class extends Controller {
@state
confirmText = '111'
@action
validatorSubmit = async ({data}: any) => {
const res = await Promise.resolve({ name: 'abc' })
if(res.name !== data.name) return "姓名未匹配"
this.confirmText = `确认提交姓名${res.name}`
return true
}
}
  1. 当填入随机随机返回错误:姓名未匹配
  2. 当填入abc,则弹出确认信息: 确认提交姓名abc 。

注意:当前例子为0.17.x 版本