reactjs - 如何进行字段验证?
问题描述
如何进行字段验证?
我有一个对象,其中包含我生成表单的字段,并且在提交时,我需要检查每个字段以使其不为空,我这样做了,但它不起作用
我的表格:
const [volunteerData, setVolunteerData] = useState({
fullName: {
value: '',
type: "text",
placeholder: "Name",
label: "Name"
},
phone: {
value: '',
type: "text",
placeholder: "Phone number",
label: "Phone number",
mask: "+7(999) 999 99 99"
}
)}
渲染形式:
const onHandleRenderForm = () => {
return Object.keys(volunteerData).map((items, idx) => {
const control = volunteerData[items];
return (
<div key={idx} className="content-data-box">
<label>{control.label}</label>
<InputMask
type={control.type}
placeholder={control.placeholder}
mask={control.mask}
onChange={e => onHandleFormData(e, items)}
/>
</div>
)
})
};
onChange 输入:
const onHandleFormData = (e, items) => {
const before = {...volunteerData};
const after = {...before[items]}
after.value = e.target.value;
before[items] = after;
setVolunteerData(before);
};
onClick(提交按钮):
const onHandleErrorBoundary = () => {
Object.keys(volunteerData).map(items => {
const errorData = items.value === '';
console.log(errorData)
})
};
解决方案
更改items.value === ''
为volunteerData[items].value !== ""
const onHandleErrorBoundary = () => {
Object.keys(volunteerData).map(items => {
const errorData = volunteerData[items].value !== "";
return console.log(errorData);
});
};
你可以在这里查看代码和框
推荐阅读
- ios - 需要根据来自响应的格式显示标签中的项目列表
- java - 为什么 Collections.sort() 针对 LinkedList 进行了优化,但没有针对 ArrayList 进行优化?
- c++ - 使用 PCL 检测矩形孔
- liquibase - 在不同的表中使用相同的字段定义
- javascript - 冻结背景滚动的 CSS 覆盖菜单
- mysql - 依靠相关模型作为混合属性
- ansible - 为什么 stdout_lines [1,2] 和 [3,4] 是字符串而不是数组?
- r - R如何在没有键值对的情况下“传播”数据
- python-3.x - 导入的 Python 类中的全局变量
- java - 如果不为空,则比较日期