vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.9 KiB
162 lines
4.9 KiB
<docs> |
|
--- |
|
order: 20 |
|
title: |
|
zh-CN: 自定义校验 |
|
en-US: Customized Validation |
|
--- |
|
|
|
## zh-CN |
|
|
|
我们提供了 `validateStatus` `help` `hasFeedback` 等属性,你可以不通过 Form 自己定义校验的时机和内容。 |
|
|
|
1. `validateStatus`: 校验状态,可选 'success', 'warning', 'error', 'validating'。 |
|
2. `hasFeedback`:用于给输入框添加反馈图标。 |
|
3. `help`:设置校验文案。 |
|
|
|
## en-US |
|
|
|
We provide properties like `validateStatus` `help` `hasFeedback` to customize your own validate status and message, without using Form. |
|
|
|
1. `validateStatus`: validate status of form components which could be 'success', 'warning', 'error', 'validating'. |
|
2. `hasFeedback`: display feed icon of input control |
|
3. `help`: display validate message. |
|
</docs> |
|
<template> |
|
<a-form v-bind="formItemLayout"> |
|
<a-form-item |
|
label="Fail" |
|
validate-status="error" |
|
help="Should be combination of numbers & alphabets" |
|
> |
|
<a-input id="error" placeholder="unavailable choice" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Warning" validate-status="warning"> |
|
<a-input id="warning" placeholder="Warning"> |
|
<template #prefix><smile-outlined /></template> |
|
</a-input> |
|
</a-form-item> |
|
|
|
<a-form-item |
|
label="Validating" |
|
has-feedback |
|
validate-status="validating" |
|
help="The information is being validated..." |
|
> |
|
<a-input id="validating" placeholder="I'm the content is being validated" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Success" has-feedback validate-status="success"> |
|
<a-input id="success" placeholder="I'm the content" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Warning" has-feedback validate-status="warning"> |
|
<a-input id="warning2" placeholder="Warning" /> |
|
</a-form-item> |
|
|
|
<a-form-item |
|
label="Fail" |
|
has-feedback |
|
validate-status="error" |
|
help="Should be combination of numbers & alphabets" |
|
> |
|
<a-input id="error2" placeholder="unavailable choice" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Success" has-feedback validate-status="success"> |
|
<a-date-picker style="width: 100%" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Warning" has-feedback validate-status="warning"> |
|
<a-time-picker style="width: 100%" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Error" has-feedback validate-status="error"> |
|
<a-range-picker style="width: 100%" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Error" has-feedback validate-status="error"> |
|
<a-select placeholder="I'm Select" allow-clear> |
|
<a-select-option value="1">Option 1</a-select-option> |
|
<a-select-option value="2">Option 2</a-select-option> |
|
<a-select-option value="3">Option 3</a-select-option> |
|
</a-select> |
|
</a-form-item> |
|
|
|
<a-form-item |
|
label="Validating" |
|
has-feedback |
|
validate-status="error" |
|
help="Something breaks the rule." |
|
> |
|
<a-cascader |
|
placeholder="I'm Cascader" |
|
:options="[{ value: 'xx', label: 'xx' }]" |
|
allow-clear |
|
/> |
|
</a-form-item> |
|
|
|
<a-form-item label="Warning" has-feedback validate-status="warning" help="Need to be checked"> |
|
<a-tree-select |
|
placeholder="I'm TreeSelect" |
|
:tree-data="[{ value: 'xx', label: 'xx' }]" |
|
allow-clear |
|
/> |
|
</a-form-item> |
|
|
|
<a-form-item label="inline" style="margin-bottom: 0px"> |
|
<a-form-item |
|
validate-status="error" |
|
help="Please select right date" |
|
style="display: inline-block; width: calc(50% - 12px)" |
|
> |
|
<a-date-picker /> |
|
</a-form-item> |
|
<span style="display: inline-block, width: 24px; line-height:32px; text-align: center"> |
|
- |
|
</span> |
|
<a-form-item style="display: inline-block; width: calc(50% - 12px)"> |
|
<a-date-picker /> |
|
</a-form-item> |
|
</a-form-item> |
|
|
|
<a-form-item label="Success" has-feedback validate-status="success"> |
|
<a-inputNumber style="width: 100%" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Success" has-feedback validate-status="success"> |
|
<a-input allow-clear placeholder="with allowClear" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Warning" has-feedback validate-status="warning"> |
|
<a-input-password placeholder="with input password" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Error" has-feedback validate-status="error"> |
|
<a-input-password allow-clear placeholder="with input password and allowClear" /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Fail" validate-status="error" has-feedback> |
|
<a-mentions /> |
|
</a-form-item> |
|
|
|
<a-form-item label="Fail" validate-status="error" has-feedback help="Should have something"> |
|
<a-textarea allow-clear show-count /> |
|
</a-form-item> |
|
</a-form> |
|
</template> |
|
<script lang="ts" setup> |
|
import { SmileOutlined } from '@ant-design/icons-vue'; |
|
|
|
const formItemLayout = { |
|
labelCol: { |
|
xs: { span: 24 }, |
|
sm: { span: 6 }, |
|
}, |
|
wrapperCol: { |
|
xs: { span: 24 }, |
|
sm: { span: 14 }, |
|
}, |
|
}; |
|
</script>
|
|
|