行为校验和返回确认信息
行为校验和返回确认信息
场景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 action="CUSTOM_User_ReName" @validator="({data})=>{if(data && data.length < 2){ return '至少选择两个' } return true }" /> </Actions> </Table></View>示例2:form字段内容校验和返回确认信息
<View title="用户"> <Form model="trantor_doc_Person"> <Fields> <Field name="name" /> </Fields> <Actions> <Action type="Submit" label="修改" @validator="validatorSubmit" @confirm="return 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 }}- 当填入随机随机返回错误:姓名未匹配
- 当填入abc,则弹出确认信息: 确认提交姓名abc 。