微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React最终表单中的表单验证不起作用

如何解决React最终表单中的表单验证不起作用

我正在使用 react final form 为我的一个项目创建注册表。一切正常,但阻碍是验证消息未按预期显示

下面是我的代码

/** @format */

// CSS Section

// Component Section
import React from 'react';
import { Field,Form } from 'react-final-form';
import { combineValidators,isrequired } from 'revalidate';

function PatientCreation() {
    // React Final Form's onSubmit event handler.
    const onSubmit = (values: any) => {
        alert(JSON.stringify(values));
    };

    const validate = combineValidators({
        name1: isrequired({ message: 'Name is required' }),age: isrequired({ message: 'Age is required' }),phone: isrequired({ message: 'Phone number needed' }),});
    return (
        <div>
            <div className='content-wrapper'>
                <div className='content-header'>
                    <div className='container-fluid'>
                        <div className='row mb-2'>
                            <div className='col-sm-6'>
                                <h1 className='m-0'>Patient Creation</h1>
                            </div>
                        </div>
                        <div className='row mb-2'>
                            <div className='col-md-6'>
                                <Form
                                    onSubmit={onSubmit}
                                    validate={validate}
                                    render={({ handleSubmit,invalid,pristine }) => (
                                        <form onSubmit={handleSubmit}>
                                            <div className='form-group'>
                                                <label htmlFor='name1'>Name</label>
                                                <Field
                                                    name='name1'
                                                    className='form-control'
                                                    component='input'
                                                    placeholder='Name'
                                                />
                                            </div>
                                            <div className='form-group'>
                                                <label htmlFor='age'>Age</label>
                                                <Field
                                                    name='age'
                                                    className='form-control'
                                                    component='input'
                                                    placeholder='Age'></Field>
                                            </div>
                                            <div className='form-group'>
                                                <label htmlFor='phone'>Phone</label>
                                                <Field name='phone'>
                                                    {({ input,Meta }) => (
                                                        <div>
                                                            <input
                                                                type='text'
                                                                className='form-control'
                                                                {...input}
                                                                placeholder='Phone'
                                                            />
                                                            {Meta.touched && Meta.error && (
                                                                <span>{Meta.error}</span>
                                                            )}
                                                        </div>
                                                    )}
                                                </Field>
                                            </div>
                                            <button
                                                type='submit'
                                                className='btn btn-block btn-success'>
                                                Submit
                                            </button>
                                        </form>
                                    )}
                                />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    );
}

export default PatientCreation;

我正在使用 adminLTE-3 组件。我的表单验证应该类似于此 https://adminlte.io/themes/v3/pages/forms/validation.html

因为我最近开始研究 react 和 adminLTE-3。我遇到了很多链接,但找不到合适的解决方案。由于我的任务截止日期,我需要尽快解决这个问题。

任何快速帮助都值得赞赏。提前致谢。

注意:目前我已经包含了电话文本框的验证以进行测试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。