Javascript 是否在React Hook表单中验证以确保至少选中一个复选框?
我正在制作一个表单,其中有一个部分需要至少选中一个复选框。我正在使用ReactJS和ReactHook表单 以下是myJavascript 是否在React Hook表单中验证以确保至少选中一个复选框?,javascript,reactjs,validation,checkbox,react-hook-form,Javascript,Reactjs,Validation,Checkbox,React Hook Form,我正在制作一个表单,其中有一个部分需要至少选中一个复选框。我正在使用ReactJS和ReactHook表单 以下是myrender函数中代码的复选框部分: {/* Checkbox group. User must select at least one medium. */} <label><b>Medium (check all that apply): *</b></label> <div> <label> &l
render
函数中代码的复选框部分:
{/* Checkbox group. User must select at least one medium. */}
<label><b>Medium (check all that apply): *</b></label>
<div>
<label>
<input type="checkbox" name="medium" value="Design & Illustration" onChange="validateMedium();"/><span>Design & Illustration</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Digital Art" onChange="validateMedium();"/><span>Digital Art</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Drawing" onChange="validateMedium();"/><span>Drawing</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Painting & Mixed Media" onChange="validateMedium();"/><span>Painting & Mixed Media</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Photography" onChange="validateMedium();"/><span>Photography</span>
</label>
</div>
ref={register({
required: false,
validate: validateMedium })}
{/*复选框组。用户必须至少选择一个媒体。*/}
中等(勾选所有适用项):*
设计与插图
数字艺术
绘画
绘画与混合媒介
摄影
以下是我试图编写的验证复选框组的函数:
function validateMedium() {
var mediumCheckboxes = document.getElementsByName("medium");
var okay = false;
for (var i = 0, len = mediumCheckboxes.length; i < len; i++) {
if (mediumCheckboxes[i].checked) {
okay = true;
break;
}
}
if (okay) {
alert("Thank you");
} else {
alert("Please check at least one medium.");
}
}
函数validateMedium(){
var mediumcheckbox=document.getElementsByName(“medium”);
var-ok=false;
对于(变量i=0,len=mediumcheckbox.length;i
如何集成专门为此表单上的复选框组编写的验证函数?如果用户在单击submit按钮时没有选中至少一个复选框,我希望出现错误。我不想使用jQuery。每个输入都应该有一个
ref
prop,它将注册验证功能:
{/* Checkbox group. User must select at least one medium. */}
<label><b>Medium (check all that apply): *</b></label>
<div>
<label>
<input type="checkbox" name="medium" value="Design & Illustration" onChange="validateMedium();"/><span>Design & Illustration</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Digital Art" onChange="validateMedium();"/><span>Digital Art</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Drawing" onChange="validateMedium();"/><span>Drawing</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Painting & Mixed Media" onChange="validateMedium();"/><span>Painting & Mixed Media</span>
</label>
</div>
<div>
<label>
<input type="checkbox" name="medium" value="Photography" onChange="validateMedium();"/><span>Photography</span>
</label>
</div>
ref={register({
required: false,
validate: validateMedium })}
查看react中的受控组件