我有一個帶有 2 個復選框的表單 - 限制是最多可以選中 1 個復選框。換句話說,兩個復選框都不能被選中。
我在表單中添加了邏輯以在選中 1 時禁用另一個復選框。但我也想驗證這一點。
我的嘗試是這樣的:
yup.object().shape({
textInput: yup.string().trim().required('Text input is required.'),
checkbox1: yup.boolean()
.when('checkbox2', {
is: true,
then: yup.boolean().isFalse()
}),
checkbox2: yup.boolean()
.when('checkbox1', {
is: true,
then: yup.boolean().isFalse()
}),
}, [[ 'checkbox1', 'checkbox2' ]])
但這會導致奇怪的行為 - 當檢查第一個,然后檢查第二個時,它似乎回傳錯誤的驗證。但是,如果檢查第二個,然后檢查第一個,則不會回傳錯誤的驗證。
是否可以進行這樣的驗證?
uj5u.com熱心網友回復:
我會使用 input type="radio" 來代替復選框。這僅允許選擇其中一個選項。以下是來自 w3schools.com 的一些示例檔案。
https://www.w3schools.com/tags/att_input_type_radio.asp
uj5u.com熱心網友回復:
正如另一個答案中提到的,您可以使用無線電輸入型別,因為它是理想的選擇。
但是,如果您只想要復選框,請通過此鏈接。它有許多有趣的方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/340450.html
標籤:javascript 验证 是的
