javascript - 我如何检查表格的所有必填字段是否已填写?
问题描述
所以我有一个表单,我只用 HTML5 来验证它。
我有一些必填字段,但没有。所以我想知道我可以用 React 做什么,检查这些字段是否不为空。
像这样的形式:
<form className="step-three-form">
<Container className="step-one">
<Row>
<Col md={{ span: 6, offset: 3 }}>
<FormField
type="text"
label="First Name"
isRequired="required"
controlId="firstName"
placeholder="First Name"
onChange={e => {
startupThirdStepFormActionHandler({
firstName: e.target.value,
});
}}
value={startupThirdStepForm.firstName}
/>
<FormField
type="text"
isRequired={false} // THIS IS NOT REQUIRED.
label="Middle Name"
controlId="middleName"
placeholder="Middle Name"
onChange={e =>
startupThirdStepFormActionHandler({
middleName: e.target.value,
})
}
value={startupThirdStepForm.middleName}
/>
<div className="choose-profile-separator">
<PrimaryButton
type="submit"
btnText="NEXT"
primaryBtnClasses="form-button"
onClick={handleNextFunctionality}
isDisabled={areFieldsFilledOut()}
/>
</div>
</Col>
</Row>
</Container>
</form>
我正在使用 react bootstrap,但我没有使用它的任何验证方法。
所以我需要做的是:
const checkFormValidation = () => {
if (form has all of its inputs filled out) return performSomething.
}
解决方案
如果不查看其余代码,很难给出准确的答案。
这通常是我们做的。
this.isRequireEmpty = () => {
if (this.props.personStore.person.firstName === '') {
return true;
}
return false;
};
}
并在单击时调用的 handleNextFunctionality 方法中调用 isRequireEmpty ..
我提到了这一点this.props.personStore.person.firstName
,这可能会根据您的其余代码而有所不同。我使用 mobx 进行状态管理。
PersonStore 看起来像这样。
import {
configure,
observable,
decorate,
action,
} from 'mobx';
configure({ enforceActions: 'observed' });
class PersonStore {
constructor() {
this.person = {
firstName: '',
Lastname: '',
};
this.setPerson = (property, value) => {
this.person[property] = value;
};
}
async addPerson() {
// some functionality to call add api
}
}
decorate(PersonStore, {
person: observable,
setPerson: action,
});
export default PersonStore;
推荐阅读
- vbscript - 使用 fso.GetAbsolutePathName(".") 检查后如何设置正确的语法 if (fso.FileExists(""))
- javascript - Universal-Link / Deeplink 在 Safari 中打开,而不是在 iPhone 上安装 YouTube-App
- python - 为什么我的 sklearn 混淆矩阵和 plot_confusion_matrix 的值不相等?
- python - python pygame鼠标事件不起作用并且不会引发错误
- angular - ng 测试 - Chrome 没有在 60000 毫秒内捕获,正在杀死
- docker - 在docker中运行命令后我无法输入,但如果我手动执行它就可以
- laravel - 从 Laravel Nova Action 发送通知
- azure-devops-rest-api - 使用“附件 - 创建”API 将图像作为附件添加到 Azure DevOps 工作项打开时不会呈现
- database - PostgreSQL - 检查两个属性中的相等值
- php - 多种自定义帖子类型博客页面