我有以下输入要验证,以匹配此表单的uuid:
51de1069-c0fd-4418-8378-5871c597023b这是似乎不会触发验证的表单:
<Form
name="id"
onFinish={this.handleJoin}
size="large"
>
<Form.Item
name="channelId"
rules={[
{
required: true,
type: "regexp",
pattern: new RegExp("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"),
message: 'Please enter a valid existing channel ID',
},
]}
>
<Input min={30} max={40} placeholder="Enter channel ID" autoFocus={true} ref={this.input}/>
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit" block size="large" icon={<LoginOutlined />}>
Join
</Button>
</Form.Item>
</Form>当我单击join按钮时,验证似乎没有运行。有什么想法吗?
当我像下面这样做验证时,它工作了,我在输入下面得到一条红色的错误消息:
{
required: true,
message: 'Please enter a valid existing channel ID',
}发布于 2020-08-18 19:08:34
你只需要改变你的模式声明,而且我认为你应该拆分规则。如下所示进行更改:
rules={[
{
required: true,
message: 'Channel ID is required',
},{
pattern: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
message: 'Please enter a valid channel ID',
}
]}https://stackoverflow.com/questions/61040985
复制相似问题